创建、构建和运行qt项目

WQt的Python项目详细描述


wqt是一个qt项目管理工具,允许用户创建, 从命令行更新、生成和运行qt项目。它使用cmake 构建项目,使其与几乎所有文本兼容 编辑器和IDE。

安装

从PIP安装:

pip install wqt

克隆repo并使用安装工具进行安装

git clone https://www.github.com/waterloop/wqt
cd wqt
python setup.py install

先决条件

为了让这个工具工作,用户需要确保 满足以下讨论的前提条件。

  • 为您的计算机安装Qt
  • 将qt的bin文件夹添加到路径
    • 这将取决于您通过qt安装的编译器 安装程序
    • 例如:/usr/doge/applications/Qt/5.10.0/clang_64/bin
  • 为您的计算机安装CMake
  • 安装Make和基本C/C++工具

项目结构

wqt尝试为用户定义项目结构。这是为了 组织qt代码,使其更易于构建和编译。任何 自定义结构可能会破坏工具的功能,因此 应该避免。

wqt create <qt type>

上面的命令用于创建项目结构。这个遗嘱 初始化项目将添加模板文件以启动用户。 qt可以有多种类型的应用程序,因此3 支持的应用程序有:widgetsquickconsole。这个 create命令将接受qt应用程序要 创建并可以指定上面的其中一个。这将创建一个 特定应用程序的项目结构。基础工程 结构如下:

project/
    lib/
    src/
    res/
    wqt/
        cmake/
        helper/
    .gitignore
    properties.ini
    CMakeLists.txt

配置和更新

每个项目都需要一些配置属性的方法 这就是为什么每个WQt项目中都有一个properties.ini文件。这个 文件非常重要,因为它包含需要 使buildrun成为可能。此配置文件是 根据创建项目的计算机而不同。配置 文件的模板是:

[project]
name:
type:

[version]
cxx: 11
qt: 5.10.0
cmake: 2.8.0

[library]
qt: Core Quick
user:

查看这些配置文件,可以看到这些字段是 定义时不需要用户更改它们。这是因为我们 希望有一个用户creates项目的系统,然后 它运行immediatelyproject -> name字段是自动的 填入项目文件夹的名称。Mac OS需要更多 创建.app文件的信息以及因此而产生的额外字段是 在配置文件中提供。注意:可以修改这些字段 项目也会相应调整。

为了使新配置生效,update命令 使用

wqt update

此命令更新CMakeLists.txt文件并使 基于config.json属性对项目所做的更改。这个 必须运行命令才能接受新配置。注意: 在将wqt项目repo克隆为 根据您的机器进行定制。

建设项目

wqt提供了一种只用一个命令构建项目的方法。所有的 生成文件存储在wqt/build文件夹中。这个文件夹是 默认情况下包含在.gitignore中。在建立项目之后, bin文件夹是用来存储可执行文件和所有资源的 它需要。默认情况下,此文件也是.gitignore的一部分。在 为了构建项目,使用了build命令。

wqt build

可执行详细信息

wqt生成的可执行文件依赖于平台。这是为了 为Mac OS创建.app应用程序,为其他操作系统创建普通可执行文件 平台。config.json文件有额外的字段来指定 为Mac OS创建可执行文件的配置。这些字段是 在windows和linux等平台上不需要。更新字段 与config.json中的元数据相关,以确保文件包含 您不需要defa的元数据结果一。图标文件也是 在config.json文件中指定。然后在 res/icons查找文件的文件夹。所以确保你的.icns是 放置在res/icons文件夹中以覆盖默认图标。

重要信息

当你们都在读这篇文章时,你们应该知道所有这些命令 只有在项目目录中才能工作。如果你不在 项目目录,--path <PATH>可选命令可以添加到 指定项目路径。

运行并预览

qt主要用于创建图形应用程序,因此不会 如果你不能运行和预览应用程序,那就很有趣了。WQT有两个 这些命令可以帮助您预览和运行项目代码。这个 第一个这样的命令是run

wqt run

此命令将build项目并打开executable 在你的机器上归档。此功能在windows上受支持, mac OSlinux。在windows subsystem或 在windows上运行的任何其他linux emulator

另一个这样的命令是preview-qml。顾名思义 您可以预览项目中的qml文件。让这个命令起作用 您的项目应用程序类型必须是quick。为了找到 qml在您的项目中,工具会查看res/qml 文件夹并显示这些文件的列表。然后您可以运行

wqt list-qml
wqt preview-qml <qml file name>

作为旁注,该工具同时接受扩展名和 没有延伸。

其他有用的命令和功能

open

如果生成了可执行文件,则会打开该可执行文件。这不是 建立项目。

wqt open

list-libs

如果要查看哪些Qt库是 包括在项目中。这些是core Qt库,而不是 自定义库。

wqt list-libs

add-lib

如果要将core Qt库添加到 项目。该工具将把这个库添加到config.json文件中,并 将更新项目以使更改生效。下次 当项目生成时,该库将在生成中使用。没有 检查所添加的库是否确实 core Qt库。

wqt add-lib <library name>

rm-lib

如果要从中删除core Qt库,则此命令非常有用 项目。工具将从^{tt20}中删除此库$ 并将更新项目以使更改生效。下一个 项目生成时,该库不在生成中使用。

wqt add-lib <library name>

list-types

此命令有助于查看哪些Qt应用程序类型 与WQT兼容。它将显示这些应用程序类型的列表。

wqt list-types

更新

  • 版本1.1.1
    • config.json替换为properties.ini
    • 添加了open命令
    • 当执行build时,项目也会更新
    • 处理更多错误案例
    • 为每个操作系统和qt类型分别使用propertiescmake
    • 资源的处理方式与qt creator完全一样

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java动态地将圆添加到Arraylist   什么是好的“错误检查”模式(Java)?   java是我们可以在应用程序中使用的云服务,它需要存储最大大小为5MB的小文件   JavaGooglePhotosAPI是静态内容上传项目的永久url   java AES密钥存储   java文件正在下载,但没有任何内容   每次循环迭代和threadsleep的java日志记录都是不好的做法?   java不会切换到另一个。单击submit时使用jsp。春季mvc   java我很难从我的maclaurin系列中获得sin x的准确输出   java使用类似的<Object>?   需要java Hibernate映射吗?   java如何在https和客户端证书请求后面生成web服务代理   java如何通过注释有条件地使用自定义JsonSerializer   java如何在html页面和Restful WebResource方法之间实现JaxB?   读取文件Libgdx Android时发生java错误   java如何在处理主活动之前从另一个方法中获取值?   java在一个SQLquery中使用多个语句,还是使用批处理?