彩票走势图

C++界面开发框架Qt新手入门教程:如何开始创建一个项目(二)

翻译|使用教程|编辑:龚雪|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 Widget的Python应用程序

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”。

C++界面开发框架Qt新手入门教程:如何开始创建一个项目

您可以添加和删除解释器,并清理对已卸载但仍显示在列表中的解释器的引用,此外还可以将解释器设置为默认使用。

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版本、类名、基类和类的源文件。

C++界面开发框架Qt新手入门教程:如何开始创建一个项目

向导将导入文件添加到源文件中,以提供对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组件推荐
  • QtitanRibbon - Ribbon UI组件:是一款遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,QtitanRibbon致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart - Qt类图表组件:是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。
  • QtitanDataGrid - Qt网格组件:提供了一套完整的标准 QTableView 函数和传统组件无法实现的独特功能。使您能够将不同来源的各类数据加载到一个快速、灵活且功能强大的可编辑网格中,支持排序、分组、报告、创建带状列、拖放按钮和许多其他方便的功能。
  • QtitanDocking:允许您像 Visual Studio 一样为您的伟大应用程序配备可停靠面板和可停靠工具栏。黑色、白色、蓝色调色板完全支持 Visual Studio 2019 主题!

Qt技术交流群:166830288      欢迎一起进群讨论

慧都2022年终促销火热开启,欢迎选购

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP