提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2022-11-10 10:07:54.460|阅读 209 次
概述:本系列文章将为大家介绍如何使用Qt 6来构建一个项目,欢迎持续关注获取更多Qt中文教程!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Qt是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。
在上文中(点击这里回顾>>),我们为大家介绍了用于构建项目的构建系统、如何使用项目向导等,本文将继续介绍如何选择要创建项目的类型。
类别 | 向导模板 | 目的 |
应用程序(Qt for MCU) | MCU Support Application | 创建一个应用程序,该应用程序使用Qt QML和Qt Quick Controls类型的子集(由Qt for MCU支持),您可以在MCU板上部署、运行和调试。 |
应用程序(Qt) | Qt Widgets Application | 使用Qt Designer表单为桌面设计一个基于Qt小部件的用户界面,并使用c++实现应用程序逻辑。 |
Qt Console Application | 使用一个main.cpp文件。 | |
Qt Quick Application | 创建一个Qt Quick 2应用程序项目,该项目可以包含QML和c++代码。您可以构建应用程序并将其部署到桌面、嵌入式和移动目标平台。 | |
应用程序(Qt for Python) | Empty Application | 创建一个Qt for Python应用程序,其中只包含的主代码。 |
Empty Window | 创建一个Qt for Python应用程序,其中包含一个空窗口。 | |
Window UI | 创建一个Qt for Python应用程序,其中包含一个空窗口和一个基于小部件的UI。首选方法,需要您从.ui文件生成一个Python文件,以便将其直接导入到应用程序中。 | |
Window UI - Dynamic load | 创建一个Qt for Python应用程序,其中包含一个空窗口和一个基于小部件的UI。 | |
Qt Quick 应用程序 - Empty | 创建一个包含空Qt Quick Application的Python项目。 | |
库 |
C++库 |
一个基于qmake的共享或静态c++库。 |
Qt Quick 2扩展插件 | 创建一个c++插件,通过使用QQmlEngine类,可以提供可以动态加载到Qt Quick 2应用程序中的扩展。 | |
Qt Creator插件 | 创建一个Qt Creator插件。 | |
其他项目 |
Qt Custom Designer Widget |
创建自定义Qt Designer小部件或小部件集合。 |
Qt Quick UI Prototype |
使用包含主视图的单个QML文件创建Qt Quick UI项目,您可以在QML场景预览工具中预览Qt Quick 2 UI项目。不需要构建它们,因为它们不包含任何c++代码。 只有在进行原型设计时才使用此模板,不能使用此模板创建完整应用。 Qt Quick UI项目不能部署到嵌入式或移动目标平台。对于这些平台,应该创建Qt Quick应用程序。 |
|
Auto Test Project | 为Qt或谷歌测试创建带有样板代码的项目。 | |
Subdirs Project | 创建子项目,该子项目使您能够将qmake项目构造为树形层次结构。 | |
Empty qmake Project | 创建一个基于qmake但不使用任何默认类的空qmake项目。 | |
Code Snippet | 从代码片段创建qmake项目。在修复包含代码段的错误报告时,可以将代码段放入项目中进行编译和检查。 | |
Non-Qt Project |
Plain C Application |
创建一个使用qmake、Qbs或CMake但不使用Qt库的普通C应用程序。 |
Plain C++ Application | 创建一个使用qmake、Qbs或CMake但不使用Qt库的普通c++应用程序。 | |
Nim Application (experimental) | 创建一个使用Nimble但不使用Qt库的Nim应用程序。 | |
Nimble Application (experimental) | 创建一个使用Nimble但不使用Qt库的Nimble应用程序。 | |
导入项目 | 项目从版本控制 | 从受支持的版本控制系统(如Bazaar、CVS、Git、Mercurial或Subversion)导入项目。 |
导入为qmake或CMake项目(功能有限) | 导入不使用任何支持的构建系统(qmake、Qbs、CMake或Autotools)的现有项目。该模板创建一个项目文件,它使您能够使用Qt Creator作为代码编辑器和调试和分析工具的启动器。但是如果您想要构建项目,可能需要编辑生成的项目文件。 | |
导入现有的项目 | 导入不使用任何支持的构建系统(qmake、Qbs、CMake或Autotools)的现有项目,这使您能够使用Qt Creator作为代码编辑器。 |
要创建一个新项目,选择File > New Project并选择项目的类型,向导对话框的内容取决于项目类型和您在Kit Selection对话框中选择的套件,按照向导的说明操作。
Qt for Python使您能够在Python应用程序中使用Qt 6 API,可以使用PySide6模块来访问单独的Qt模块,例如Qt Core、Qt GUI和Qt Widgets。
如果您还没有安装PySide6,Qt Creator会在项目创建后提示您安装它。此外,它还提示您安装提供代码完成和注释等服务的Python语言服务器,选择Install来安装PySide6和语言服务器。
若要查看和管理可用的Python解释器,请选择“Edit > Preferences > Python > interpreters”。
您可以添加和删除解释器,并清理对已卸载但仍显示在列表中的解释器的引用,此外还可以将解释器设置为默认使用。
Qt for Python Application向导生成一个.pyproject文件,其中列出了Python项目中的文件,以及一个.py文件,其中包含一些示例代码。此外,基于小部件的UI向导会创建一个包含Qt Designer表单的.ui文件,Qt Quick Application向导会创建一个包含Qt Quick控件的.qml文件。
.pyproject文件是基于json的配置文件,它取代了以前使用的.pyqtc配置文件。您仍然可以打开并使用.pyqtc文件,但我们建议您为新项目选择.pyproject文件。
Window UI向导使您能够创建包含类源文件的Python项目。指定PySide版本、类名、基类和类的源文件。
向导将导入文件添加到源文件中,以提供对QApplication、在Qt Widgets模块中选择的基类和Qt UI工具的访问:
import sys from PySide6.QtWidgets import QApplication, QWidget
注意:首先要从UI表单创建Python代码,这一点很重要。在PySide6中,可以通过在终端执行pyside6-uic form.ui -o ui_form.py来实现这一点,这使您能够从该Python文件导入表示UI的类。
一旦从UI文件生成Python代码,就可以导入这个类:
from ui_form import Ui_Widget
该向导还添加一个具有指定名称的主类,从指定的基类继承:
class Widget(QWidget): def __init__(self, parent=None): super().__init__(parent)
主类中的以下行从UI文件实例化生成的Python类,并为当前类设置接口。
self.ui = Ui_Widget() self.ui.setupUi(self)
注意:新类的UI元素可以作为成员变量访问。例如,如果您有一个名为button1的按钮,可以使用self.ui.button1与它交互。
接下来,向导添加一个主函数,在其中创建一个 实例。因为Qt可以从命令行接收参数,所以您可以将任何参数传递给QApplication对象。通常,您不需要传递任何参数,可以使用以下方法:
if __name__ == "__main__": app = QApplication(sys.argv)
接下来,向导实例化MainWindow类并显示它:
widget = Widget() widget.show() ...
最后,向导调用app.exec()方法进入Qt主循环并开始执行Qt代码:
sys.exit(app.exec())
现在,您可以在Edit模式中修改示例代码,来开发Python应用程序。选择工具栏上的REPL启动Python交互式shell,要启动shell并将当前文件作为模块导入,请选择select REPL import file。要从文件中导入所有函数,请选择REPL import *。
总是在修改UI文件后重新生成Python代码。
在Design模式下打开.ui文件,在Qt Designer中创建一个基于小部件的UI。
Window向导将类似的代码添加到源文件中,但不添加UI位。
Empty向导将类似的代码添加到源文件中,但是它不添加任何类,因此您需要自己添加并实例化它们。
Qt技术交流群:166830288 欢迎一起进群讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
一个跨平台的C++图形用户界面应用程序开发框架。
QtitanRibbon专业全面 & 实现Qt技术的跨平台Ribbon UI组件
QtitanDataGrid一个独特的Qt开发框架产品,吸收了Delphi、C++以及其他语言的优点
QtitanChart性能优异的跨平台Qt类图表组件
QtitanDocking一个用于允许创建类似于Microsoft可停靠用户界面的Qt框架组件。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢