1 项目概述
1.1 功能介绍
- 支持文本创建,打开,保存,关闭的功能
- UI样式美化
- 添加打开快捷键,添加保存快捷
- 底部显示行列号及文本字符编码
- Ctrl加鼠标滚轮支持字体放大缩小
1.2 界面预览
待续
1.3 工程概述
MainWindow 与 Widget 的区别
MainWindow
- 包含完整菜单栏、工具栏和状态栏的主窗口框架。
- 适用于需要复杂交互和丰富功能的应用程序。
Widget
- 简单窗口,无内置菜单栏、工具栏或状态栏。
- 适用于功能单一或专用界面的应用程序。
选择依据:根据应用程序的界面复杂度需求决定。
QApplication 功能说明
cpp
#include <QApplication>
int main(int argc, char *argv[]) {
QApplication a(argc, argv); // 初始化Qt应用程序环境
Widget w;
w.show();
return a.exec(); // 启动事件循环
}
核心功能
- 事件循环:处理鼠标点击、键盘输入等事件。
- 全局设置:管理字体、颜色等UI元素。
- GUI初始化:必需步骤,否则无法使用Qt GUI组件。
- 命令行参数处理:支持命令行交互的应用程序。
return a.exec() 的作用
- 启动应用程序的事件循环,监听用户操作(如点击、输入)。
- 循环持续运行,直到调用
QApplication::quit()或主窗口关闭。
namespace Ui { class Widget; }
- 用途:声明由Qt Designer生成的UI类,避免头文件直接包含。
- 实现分离 :在源文件中通过
Ui::Widget对象操作UI组件。
QT_BEGIN_NAMESPACE
- 作用:防止Qt类与其他库的命名冲突。
- 配对宏 :与
QT_END_NAMESPACE共同标记Qt命名空间范围。
Q_OBJECT 宏
- 功能:启用信号槽机制、国际化等元对象系统特性。
- 必需条件 :继承
QObject且需使用Qt高级功能时。
构造函数示例解析
cpp
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) {
ui->setupUi(this); // 初始化UI布局
}
- 基类初始化 :
QWidget(parent)调用父类构造函数。 - UI成员初始化 :
ui(new Ui::Widget)动态分配UI对象。 - 设计分离:UI逻辑由Qt Designer生成,提高可维护性。
GUI(图形用户界面)定义
- 通过视觉元素(按钮、窗口等)交互,替代文本命令。
- 提升操作直观性,降低用户学习成本。