Qt 中的项目文件解析和命名规范

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: Qt 中的项目文件解析和命名规范

一、Qt项目文件解析

1、.pro 文件解析

工程新建好之后,在工程目录列表中有一个后缀为 ".pro" 的文件, ".pro" 文件就是工程文件 (project) ,它是 qmake 自动生成的用于生产 makefile 的配置文件。

如图所示:

双击进入该文件,该文件的核心内容如下:

QT += core gui  // Qt 包含的模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  //大于 Qt4 版本才包含 widget 模块

TARGET = QtFirst //应⽤程序名生成的 .exe 程序名称

TEMPLATE = app //模板类型,应用程序模板

SOURCES += main.cpp\ //源文件

widget.cpp //源文件

HEADERS += widget.h //头文件

2、widget.h 文件解析

在Qt中,如果要使用信号与槽(signal 和 slot)的机制就必须加入 Q_OBJECT 宏;

Ui::Widget *ui; 这个指针是用前面声明的 namespace Ui 里的 Widget 类定义的,所以指针 ui 是指向可视化设计的界面,后面要访问界面上的组件,都需要通过这个指针 ui 去访问。

3、main.cpp 文件解析

使用 Qt Creator 新建任意工程之后,main.cpp 文件中都会自动生成如下代码:

#include "widget.h"
 
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

解释:

1. Qt 系统提供的标准类名 声明头文件没有 .h 后缀;

2. Qt 一个类对应一个头文件,类名就是头文件名;

3. QApplication 为应用程序类;QApplication a;(a为应用程序对象,有且仅有一个)

QApplication 管理图形用户界面应用程序的控制流和主要设置。

QApplication 是 Qt 的整个后台管理的命脉。它包含主事件循环,在其中来自窗口系统和其它

资源的所有事件处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理。

对于任何⼀个使用 Qt 的图形用户界面应用程序,都正好存在⼀个 QApplication 对象,而不论

这个应用程序在同一时间内是不是有 0、1、2 或更多个窗口。

4. myWidget w; //实例化窗口对象

5. w.show(); //调用show函数显示窗口

6. a.exec() :程序进入消息循环,等待对用户输入进行响应。这里 main()把控制权转交给Qt,Qt 成事件处理工作,当应用程序退出的时候 exec() 的值就会返回。在 exec() 中,Qt 接受并处理用户

和系统的事件并且把它们传递给适当的窗口部件。

4、widget.cpp 文件解析

 widget.cpp 文件是类 Widget 的实现代码,所有在窗体上要实现的功能添加在此文件中;

5、widget.ui 文件解析

widget.ui 是窗体界面定义文件,是⼀个 XML 文件,定义了窗口上的所有组件的属性设置、布局,及其信号与槽函数的关联等。用 UI 设计器可视化设计的界面都由 Qt 自动解析,并以 XML 文件的形式保存下来。在设计界面时,只需在 UI 设计器里进行可视化设计即可,而不用管 widget.ui 文件是怎么生成的。

二、Qt 编程注意事项

1、Qt 中的命名规范

  • 类名:首字母大写,单词和单词之间首字母大写;
  • 函数名及变量名:首字母小写,单词和单词之间首字母大写;
  • Qt 偏好驼峰命名法;

2、Qt Creator 中的快捷键

  • 注释:ctrl + /
  • 运行:ctrl + R
  • 编译:ctrl + B
  • 字体缩放:ctrl + 鼠标滑轮
  • 查找:ctrl + F
  • 整行移动:ctrl + shift + ⬆/⬇
  • 帮助文档:F1
  • 自动对齐:ctrl + i;
  • 同名之间的 .h 和 .cpp 的切换:F4
  • 成函数声明的对应定义: alt + enter

3、使用帮助文档

打开帮助文档有三种方式. 实际编程中使用哪种都可以.

(1)光标放到要查询的类名/方法名上, 直接按 F1

(2)Qt Creator 左侧边栏中直接用鼠标单击 "帮助" 按钮:

点击 "帮助" 之后,出现如下图示界面:

(3)找到 Qt Creator 的安装路径,在 "bin" 文件夹下找到 assistant.exe,双击打开;

使用示例:

1、新建项目,在新建的项目中使用Qt 中的 "QpushButton" 控件。

2、打开帮助手册,在 "索引" 里面输入 "QpushButton";


不要使用中文文档!

不要使用中文文档!

不要使用中文文档!

阅读英文文档是每个程序员必备的专业技能必须要练, 不能退缩。Qt 的文档从通俗易懂的角度来说,是技术类文档中非常出类拔萃的。只要大家稍微有点耐心, 基本都能读懂个八九不离十.


❤️结语:

本次精彩内容已圆满结束!希望各位读者在阅读过程中能够收获满满。在此,特别感谢各位读者的支持与三连赞。如果文章中存在任何问题或不足之处,欢迎在评论区留言,蜗牛必定会认真对待并加以改进,以便为大家呈现更优质的文章。你们的支持与鼓励,将是博主不断前进的最大动力。再次感谢大家的陪伴与支持!

相关文章
|
4天前
|
JavaScript API
深入探索fs.WriteStream:Node.js文件写入流的全面解析
深入探索fs.WriteStream:Node.js文件写入流的全面解析
|
3天前
|
XML 存储 网络安全
ROS入门(二):launch文件解析
该文章是关于ROS入门的第二篇教程,详细解析了ROS中的launch文件,包括其运行方式、XML格式规范、标签使用、参数替代、条件属性以及通过简单和复杂案例来演示launch文件的使用,最后介绍了如何在参数服务器上设置参数。
ROS入门(二):launch文件解析
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
【热门开源项目】阿里开源巨擘:Qwen-2 72B深度解析与推荐
在人工智能的浪潮中,开源模型如同璀璨的星辰,指引着开发者们探索未知的领域。而今天,我们将聚焦在阿里云推出的开源模型Qwen-2 72B上,从其项目介绍、技术特点、代码解析等多个角度,深入解析并推荐这一卓越的开源项目。
58 1
|
2天前
|
机器学习/深度学习 计算机视觉 Python
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
12 0
|
3天前
CMake自动打包--Qt项目
CMake自动打包--Qt项目
8 0
|
3天前
QT 软件打包为一个单独可执行.exe文件流程
QT 软件打包为一个单独可执行.exe文件流程
18 0
|
7天前
|
移动开发 编解码 流计算
【Azure 媒体服务】AMS的Manifest文件中SmoothStreamingMedia片段中<c t="6161940" d="749970" r="2" n="0" />, c, t, d, r, n 的解析
【Azure 媒体服务】AMS的Manifest文件中SmoothStreamingMedia片段中<c t="6161940" d="749970" r="2" n="0" />, c, t, d, r, n 的解析
|
15天前
|
数据安全/隐私保护
【qt】考试系统项目
【qt】考试系统项目
26 0
|
26天前
|
存储 NoSQL Redis
redis 6源码解析之 object
redis 6源码解析之 object
49 6
|
2天前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件

热门文章

最新文章

推荐镜像

更多
下一篇
云函数