Qt学习笔记第41到50讲

第41讲 UI美化遗留问题解决

如上图所示目前记事本的雏形已现,但是还是有待优化,比如右下角的拖动问题。

解决方法:

①首先修改了Widget类的构造函数。

cpp 复制代码
Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setLayout(ui->verticalLayout);
    ui->widgetBottom->setLayout(ui->horizontalLayout);
}

下面开始逐步讲解,在Widget构造函数当中,我们首先初始化了成员变量:

cpp 复制代码
 ui(new Ui::Widget)

这里为类的成员变量 ui 分配内存并进行初始化。ui 通常是一个指向特定用户界面类的指针,这个类是由 Qt 的 UI 设计工具生成的。通过初始化 ui,可以在后续的代码中访问和操作由设计师创建的用户界面元素。

然后设置父窗口和布局:

cpp 复制代码
QWidget(parent)

调用父类 QWidget 的构造函数并传入 parent 参数。这使得当前创建的 Widget 实例能够与指定的父窗口建立关系。如果有父窗口,当父窗口被销毁时,子窗口也会被自动销毁,有助于管理窗口资源和层次结构。

cpp 复制代码
ui->setupUi(this)

这个函数通常由 Qt 的 UI 设计工具生成的代码调用。它负责设置用户界面,将各种界面元素(如按钮、文本框等)与对应的成员变量关联起来,并根据设计设置初始状态和属性。

cpp 复制代码
this->setLayout(ui->verticalLayout)

这一行是我们自己写的 ,将当前窗口的布局设置为 ui->verticalLayout。布局管理器用于自动管理窗口内的子部件的大小和位置。通过设置布局,可以确保界面元素在窗口大小变化时能够正确地调整位置和大小,提高用户界面的适应性。

cpp 复制代码
ui->widgetBottom->setLayout(ui->horizontalLayout)

这一行也是我们自己写的 ,这里为特定的子部件 ui->widgetBottom 设置布局为 ui->horizontalLayout。这使得该子部件内的元素能够按照水平布局进行排列和调整。

②在UI底部添加两个弹簧控件;

左侧可拉伸,右侧选择fixed锁死长度。

相关推荐
ZC跨境爬虫几秒前
跟着 MDN 学 HTML day_55:HTML 音频与视频嵌入实战指南
前端·javascript·ui·html·音视频·媒体
hanbr11 分钟前
Qt 进阶开发:主窗口、对话框、布局与常用控件全解析
qt
椰汁菠萝28 分钟前
[特殊字符] Nginx UI:Docker 部署与完全使用指南
nginx·ui·docker
雪豹阿伟37 分钟前
4.C# —— 循环语句、break、continue
c#·上位机
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_57:(HTML 表格进阶特性与无障碍实践)
java·前端·javascript·ui·html·音视频
孙高飞1 小时前
AI 驱动 UI 自动化的完整 DEOM 工程下载与详解
人工智能·ui·自动化
UXbot1 小时前
支持移动端原型绘制的 AI 工具核心功能对比(2026):5 款主流平台能力横向评测
前端·低代码·ui·交互·原型模式·web app
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_54:(深入掌握 XSLTProcessor API)
前端·javascript·ui·html·媒体
小短腿的代码世界2 小时前
Qt时间日期处理与QTimer高级应用:从毫秒级精度到跨平台定时器的完整架构解析
开发语言·qt·架构
小短腿的代码世界3 小时前
QGC飞控参数系统架构深度解析:从XML到飞控寄存器的参数同步引擎
qt·microsoft·ui