1 项目概述

1 项目概述

1.1 功能介绍

  1. 支持文本创建,打开,保存,关闭的功能
  2. UI样式美化
  3. 添加打开快捷键,添加保存快捷
  4. 底部显示行列号及文本字符编码
  5. 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(图形用户界面)定义

  • 通过视觉元素(按钮、窗口等)交互,替代文本命令。
  • 提升操作直观性,降低用户学习成本。

相关推荐
为何创造硅基生物3 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好3 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李4 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅4 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆4 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
于小猿Sup5 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y5 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人6 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
薛定猫AI6 小时前
【深度解析】Gemini Omni 多模态生成与 Agent 化创作工作流:从视频编辑到 UI 生成的技术演进
人工智能·ui·音视频