信号与槽三种方法
[!NOTE]
- 直接在 ui 设计中点击转到槽就行了
- 如果还是有具体实现的,不用 1 方法就要手动在头文件中添加槽函数。然后,就在 cpp 文件构造函数中使用
connect(ui->cmdlineEdit, SIGNAL(returnPressed()), this, SLOT(on_commitButton_clicked()));实现具体定义- 直接在构造函数中使用 connect 并实现具体定义,如下 cpp:
connect(ui->browseButton, &QPushButton::clicked, [this]()
{
QMessageBox::information(this, "信息", "点击查看浏览");
});
1. 将 .ui 文件转换为 C++ 代码
要将 .ui 文件(由 Qt Designer 生成)转换为 C++ 代码,您可以使用 uic(用户界面编译器)工具。此工具是 Qt 开发环境的一部分,可将 .ui 文件转换为 C++ 头文件。然后可以将生成的 C++ 代码包含在您的项目中,以在运行时创建相应的用户界面。
使用 uic 的步骤
- 手动转换: 如果您想将
.ui文件手动转换为 C++ 头文件,可以使用以下命令:
uic myinterface.ui -o ui_myinterface.h
此命令将生成一个 ui_myinterface.h 头文件,您可以将其包含在 C++ 源文件中。
- 自动转换: 当您使用
qmake构建项目时,如果您将.ui文件包含在.pro文件中,它可以自动处理这些文件的转换,如下所示:
FORMS += myinterface.ui
qmake 将在构建过程中调用 uic 来生成必要的头文件。
2. Qt 模块概述
Qt 提供了一种模块化方法,其中不同的模块提供不同的功能。以下是您提到的模块的简要概述:
QtCore模块:- 用途:提供 Qt 框架的核心非 GUI 功能,包括事件循环、文件处理、线程、数据结构、日期/时间处理等。
- 常用类:
QCoreApplication、QObject、QString、QThread、QTimer、QFile等。 - 用途:几乎所有 Qt 项目都必不可少,即使没有图形用户界面的项目也是如此。
QtGui模块:- 用途:包含 GUI 元素、2D 图形、图像处理、字体和其他图形实用程序的类。
- 常用类:
QImage、QPixmap、QPainter、QFont、QColor等。 - 用途:用于需要绘==制或操作图像、处理字体或提供图形输出==的应用程序。
QtWidgets模块:- 用途:为桌面式应用程序提供==窗口小部件和控件==。这包括按钮、标签、对话框、布局和所有传统的 GUI 组件。
- 常用类:
QWidget、QPushButton、QLabel、QDialog、QMainWindow等。 - 用途:对于任何具有传统 GUI 的桌面应用程序来说都必不可少。
QtMultimedia模块:- 用途:提供处理==多媒体内容==(如音频、视频和摄像头输入)的类。
- 常用类:
QMediaPlayer、QAudioOutput、QVideoWidget、QCamera等。 - 用途:用于需要多媒体功能(如播放音频或视频、录制或摄像头流媒体)的应用程序。
摘要
- 将
.ui文件转换为 C++:使用uic工具将 Qt Designer 生成的.ui文件转换为 C++ 头文件,然后可将其包含在您的项目中。 - Qt 模块:
- QtCore:核心功能,非 GUI。
- QtGui:2 D 图形、图像处理和 GUI 相关实用程序。
- QtWidgets:桌面样式的小部件和控件。
- QtMultimedia:多媒体处理(音频、视频、摄像头)。