Qt 模块基础知识

Qt 模块

# QtCore 模块是Qt应用程序的基础,是核心的非图形类。
# 提供了信号与槽的通信机制,并发和多线程,容器,事件系统
Qt Core

# 最重要的GUI模块。图形用户界面 (GUI) 组件的基类。
Qt GUI

# 包含基于GUI应用程序的典型小部件类,比如按钮、文本框、标签等
# 在 Qt5 中, 从 Gui 模块中分离出来。
Qt widgets

# 网络模块。用于支持 TCP, UDP, HTTP 通信
Qt Network

# 多媒体模块。音频、视频、广播和相机功能类。
Qt Multimedia

# Qt Multimedia 的小部件。
Qt Multimedia Widgets

# 数据库模块。用于操作数据库,比如后面会将到的 sqlite、MySQL
Qt SQL

# web引擎模块。用于 web 相关的开发
Qt WebEngine

############################################################
# 以下是 QML 相关的模块
# QML 是什么呢?
# 简单来说,就是使用类似 js 的语法来构建界面,而不是 widget 的方式

# Qt QML模块。用于 QML 和 JavaScript 语言。
Qt QML

# 该模块用于使用 QML2 编写的 GUI 应用程序。用于构建具有自定义用户界面的高度动态应用程序的声明性框架。
Qt Quick

# 提供轻量级 QML 类型,用于为桌面、嵌入式和移动设备创建高性能用户界面。这些类型采用简单的样式架构并且非常高效。
Qt Quick Controls

# 用于从 Qt Quick 应用程序创建系统对话框并与之交互的类型。
Qt Quick Dialogs

# 用于在 Qt Quick 中安排项目的布局。
Qt Quick Layouts 

uic 工具

uic 用于将 ui 文件转换为 .h 文件

我们知道在编译项目时,编译器编译的是 cpp/.h 文件,而 ui 文件本身是 xml 格式的,因此需要将 ui 文件转换为编译器可编译的 cpp/.h 文件

根据以上的编译输出可知,uic 工具会将 mywindow.ui 转换为 ui_mywindow.h

ui_mywindow.h 这个文件是怎么来的?

答:

通过 Qt 提供的 uic 工具,自动将 .ui 文件,转换为编译器可以编译的 .h 文件

为什么说 Ui::MyWindow 这个 c++ 中的类,是和 xml 格式的 mywindow.ui 文件一一对应的?

答:

uic 工具会去解析 .ui 的 xml 格式文件,依次读取其中的字段,比如 width、height、property 等,来生成对应的 c++ 代码

为什么上面需要调用 ui->setupUi(this); 才可以将界面上拖拽的按钮显示出来

答:

我们自己定义的MyWindow要显示,直接调用其show方法,如果子控件要随我们的窗口一起显示,那么子控件创建时的父窗口就要指定为我们的MyWindow

一句话总结:父窗口显示时,会将其子窗口一起显示出来。

你可能感兴趣的:(C/C++,qt,开发语言,c++)