QT(2):创建项目
项目创建
- 选择 QT Widgets Application
- 输入项目名称及地址
名称不能有中文或空格,路径不能有空格。
- 定义构建系统
构建系统(Build System):qmake、cmake、qbs
CMake 很常用,功能也很强大,许多知名的项目都是用它,比如 OpenCV 和 VTK,但它的语法繁杂。
qmake 是针对辅助 Qt 开发的,但也可以在非 Qt 项目使用,特点是语法简单明了,但功能也相对简单。
Qbs 号称下一代构建工具,也有好多人力捧 Qbs
qmake
When using qmake, edit the INSTALLS variable in the project .pro
file.
When you run the application, Qt Creator copies the necessary files to the device and starts the application on it.
使用qmake时,须在项目中编辑安装变量.pro文件。
运行应用程序时,Qt Creator将必要的文件复制到设备并启动应用程序。
For example, add the following lines to the .pro
file to copy the binary of your project to the /opt
directory on the remote device:
例如,将以下行添加到.pro文件中以将项目的二进制文件复制到远程设备上的/opt
目录
target.path = /opt
INSTALLS += target
To deploy additional files, add them to further targets that you also add to INSTALLS
.
要部署其他文件,须将其添加到其他目标,以便添加以安装。
cmake
CMake is an alternative to qmake for automating the generation of build configurations.
CMake是QMake的替代方案,用于自动化构建配置。
When using CMake as the build system, use the install command in the CMakeLists.txt file to add the missing files.
For example, add the following lines to the CMakeLists.txt file to install the binary of your project to the /opt
directory on the remote device:
使用CMake作为构建系统时,请使用CMAKELIST.TXT文件中的安装命令添加丢失的文件。
例如,将以下行添加到CMAKELIST.TXT文件中以将项目的二进制文件安装到远程设备上的/opt
t目录:
set(INSTALL_DESTDIR "/opt")
install(TARGETS <target>
RUNTIME DESTINATION "${INSTALL_DESTDIR}"
BUNDLE DESTINATION "${INSTALL_DESTDIR}"
LIBRARY DESTINATION "${INSTALL_DESTDIR}"
)
qbs
Qbs is an all-in-one build tool that generates a build graph from a high-level project description (like qmake or CMake do) and executes the commands in the low-level build graph (like make does).
QBS是一个一体化构建工具,从高级项目描述(如qmake或cmake)生成构建图,并在低级构建图中执行命令(如make do)。
这里默认选择qmake。
- 定义类名
基类(Base class):QMainWindow、QWidget、QDialog
窗口和控件统称为部件(Widget)。
窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最小化按钮、最大化按钮等。
控件是指按钮、复选框、文本框、表格、进度条等这些组成程序的基本元素。一个程序可以有多个窗口,一个窗口也可以有多个控件。
QWidget 是空窗口,是所有用户界面元素的基类,窗口和控件都是直接或间接继承自 QWidget。
QMainWindow 窗口可以包含菜单栏、工具栏、状态栏、标题栏等,是最常见的窗口形式,可以作为GUI程序的主窗口。
QDialog 是对话框窗口的基类。对话框主要用来执行短期任务,或与用户进行互动,它可以是模态的也可以是非模态的。QDialog 没有菜单栏、工具栏、状态栏等。
QMainWindow 和 QDialog 是 QWidget 的两个派生类,可以理解为都是窗口,但窗口样式不同。
设类名为HelloDialog,基类(Base class)为QDialog,QDialog将生成一个对话框。下面的Header file、Source file和From file的名称会根据自定义的Class name自动修改。Generate form 复选框是否使用UI设计功能,可以通过拖拽控件来设计UI界面,如果不选,则使用代码编辑界面,这里默认就好
- 定义翻译
为你的项目创建一个翻译文件,将你的应用界面翻译成其他语言,不选,默认就好。
- 编译套件
编译套件,按自己需求选择就好。
- 添加版本控制系统
暂时没有,默认就好。
完成创建
点击左下角的绿色小三角(或使用快捷键Ctrl + R)编译运行程序。
出现空白窗口,Qt Hello World 就完成了。
项目目录的各文件说明
helloworld.pro | 项目文件,包含项目相关信息 |
helloworld.pro.user | 包含与用户相关的项目信息 |
hellodialog.h | 新建的hellodialog类的头文件 |
hellodialog.cpp | 新建的hellodialog类的源文件 |
main.cpp | 文件中包含了main()主函数 |
hellodialog.ui | 设计师设计的界面对应的界面文件 |
界面设计
在项目文件列表中双击.ui文件,即可进入设计模式
左边为可拖拽控件,中间设计区,右边对象及其属性。
拖拽一个“Label”部件双击即可输入字符串。
拖拽一个“PushButton”按钮部件双击即可编辑。
保存之后再运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本