当前位置: 首页 > news >正文

Qt学习笔记第41到50讲

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

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

解决方法:

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

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

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

 ui(new Ui::Widget)

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

然后设置父窗口和布局:

QWidget(parent)

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

ui->setupUi(this)

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

this->setLayout(ui->verticalLayout)

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

ui->widgetBottom->setLayout(ui->horizontalLayout)

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

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

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

http://www.lryc.cn/news/477796.html

相关文章:

  • 加固筑牢安全防线:多源威胁检测响应在企业网络安全运营中的核心作用
  • 用Python将PDF表格提取到文本、CSV和Excel文件中
  • AIGC在游戏设计中的应用及影响
  • 给初学者的 Jupyter Notebook 教程
  • 搜维尔科技:Xsens和BoB助力生物力学教育
  • Vue动态计算Table表格的高度
  • 【MongoDB】MongoDB的聚合(Aggregate、Map Reduce)与管道(Pipline) 及索引详解(附详细案例)
  • 数组和字符串的es6新方法使用和综合案例
  • JS语法进阶第一课!—DOM(重点)
  • Swift 开发教程系列 - 第5章:集合类型
  • Spring:Bean(创建方式,抽象继承,工厂Bean,生命周期)
  • Flutter中的Extension关键字
  • transformers 框架使用详解,bert-base-chinese
  • STM32——ADC
  • Unity SRP学习笔记(二)
  • 数据库第五次作业
  • 健身房业务流程优化:SpringBoot解决方案
  • 【产品经理】工业互联网企业上市之路
  • Java学习教程,从入门到精通,Java对象和类语法知识点(20)
  • 金融场中的量化交易:民锋数据驱动策略的优势解析市
  • Docker 配置镜像加速
  • HTTP慢速攻击原理及解决办法
  • 【系统面试篇】进程和线程类(1)(笔记)——区别、通讯方式、同步、互斥、锁分类
  • [C++]——哈希(附源码)
  • 2024中国自动化大会(CAC2024)“智慧化工及复合人才培养”平行会议圆满落幕
  • 计算机毕业设计——ssm基于JAVA的求职招聘网站的设计与实现演示录像 2021
  • 跨平台Flutter 、ReactNative 开发原理
  • qt QToolBar详解
  • MongoDB基础介绍以及从0~1语法介绍
  • 利用Docker Compose构建微服务架构