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

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析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 的文档从通俗易懂的角度来说,是技术类文档中非常出类拔萃的。只要大家稍微有点耐心, 基本都能读懂个八九不离十.


❤️结语:

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

相关文章
|
10天前
|
C++
基于QT实现的拷贝文件以及实时进度条(简易版)
1.基于按钮或者菜单栏的槽里去写逻辑函数(我这边用的是菜单栏),ui实现的进度条 2.创建两个对象,一个是源文件,一个是目标文件分别用getopenfileName、getsavefileName函数即可。 3.利用QFile类去实现对两个文件的创建,因为QFile中可以获取文件的属性已经读写等。 4.循环的去读取源文件中的数据,然后写入目标文件
|
10天前
|
存储 算法 C++
【Qt应用开发】复刻经典:基于Qt实现Windows风格计算器(加减乘除、删除、归零功能全解析)
在Qt中,"栈"的概念主要体现在两个层面:一是程序设计中的数据结构——栈(Stack),二是用户界面管理中的QStackedWidget控件。下面我将分别简要介绍这两个方面:
|
20天前
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
20 0
|
21天前
|
存储 安全 Java
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
34 4
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
|
10天前
|
调度
【浅入浅出】Qt多线程机制解析:提升程序响应性与并发处理能力
在学习QT线程的时候我们首先要知道的是QT的主线程,也叫GUI线程,意如其名,也就是我们程序的最主要的一个线程,主要负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。但是当我们只限于在一个主线程上书写逻辑时碰到了需要一直等待的事件该怎么办?它的加载必定会带着主界面的卡顿,这时候我们就要去使用多线程。
|
11天前
|
文字识别 Java Python
文本,文识08图片保存()上,最方便在于整体生成代码,serivce及实体类,base64编码保存图片文件,调用flask实现内部ocr接口,通过paddleocr识别,解析结果,base64转图片
文本,文识08图片保存()上,最方便在于整体生成代码,serivce及实体类,base64编码保存图片文件,调用flask实现内部ocr接口,通过paddleocr识别,解析结果,base64转图片
|
12天前
|
JavaScript
js 解析lrc文件(歌词)
js 解析lrc文件(歌词)
14 1
|
19天前
Qt颜色、文件、字体对话框
Qt颜色、文件、字体对话框
14 1
|
10天前
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
18天前
|
机器学习/深度学习 存储 算法
技术好文:ttf文件结构解析
技术好文:ttf文件结构解析
30 0

推荐镜像

更多