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

qt5-入门-标签页部件QTabWidget-1

参考:
C++ GUI Programming with Qt 4, Second Edition

本地环境:
win10专业版,64位,Qt5.12


目录

  • 效果
  • 实现
    • Qt Designer操作
    • 代码
    • addStretch()解释

效果

首页有三个按钮和最近文件列表。
在这里插入图片描述
拖动窗口,按钮和文件列表仍然处于居中状态。
在这里插入图片描述

实现

Qt Designer操作

首先新建一个界面类,起名叫MainTabWidget。
在这里插入图片描述
创建完成后,在Qt Designer中打开ui,右键,插入页。先制作主页。

主页显示的名称需要修改QTabWidget的currentTabText属性。现在就把那个属性改成主页

然后准备一些widget。每个pushButton下面放两个label。

label如何修改格式?找到stylesheet,打开后输入颜色:
在这里插入图片描述
注意这里不要点添加颜色,如果用调色盘选,可能报错:无效的样式表。直接像html一样写就可以了。(短的话直接在表格里填就行)
在这里插入图片描述
放好组件之后做布局。

先把每个按钮跟两个label竖直布局,然后把几个按钮和spacer做水平布局,最后做一个总的竖直布局。总布局起名叫homeLayout,设置layoutTopMargin为20。布局完成后如下图所示:
在这里插入图片描述
对象结构如下图所示:
在这里插入图片描述
tableWidget的设置,主要有这几点:

  • 背景颜色:stylesheet。类似上面设置文字颜色的做法。
  • 去掉边框:QFrame下frameShape,选择NoFrame
  • 不要行名:verticalHeaderVisible去掉勾选

还有一些属性可以根据需求设置。

代码

需要修改MainTabWidget::MainTabWidget(),在setupUi()后增加代码:

ui->homeLayout->addStretch(1);
ui->homeWidget->setLayout(ui->homeLayout);

addStretch()解释

函数addStretch()的参数是拉伸因子(stretch factor),用于确定布局中的子控件在空间分配中的相对拉伸比例。

添加拉伸因子后,布局将根据拉伸因子的比例分配可用空间给子控件。拉伸因子决定了子控件在布局中占据的空间的大小。

addStretch()方法可以有一个整数参数,表示拉伸因子的权重。权重越高,指定的子控件在布局中占据的空间就越大。如果指定多个拉伸因子,它们的比例将决定子控件在布局中的分布。

例如,如果使用如下代码:

layout.addStretch(2)
layout.addStretch(1)

该布局中的第一个子控件将占据的空间是第二个子控件占据空间的两倍。


下一篇会描述如何动态添加和删除tab页,以及最近打开文件列表的获取及tableWidget填充。

欢迎关注。

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

相关文章:

  • GOPS全球运维大会2024深圳站亮点抢先看!
  • 给wordpress添加自定义字段的分类筛选功能
  • Android 系统的启动过程
  • jenkins配置源码管理的git地址时,怎么使用不了 credential凭证信息
  • Emotion Prompt-LLM能够理解并能通过情感刺激得以增强
  • 流畅的 Python 第二版(GPT 重译)(十三)
  • C/C++炸弹人游戏
  • ③【Docker】Docker部署Nginx
  • Elasticsearch:使用 OpenAI、LangChain 和 Streamlit 的基于 LLM 的 PDF 摘要器和 Q/A 应用程序
  • Linux课程____进程管理
  • 算法设计与分析-动态规划算法的应用——沐雨先生
  • Flutter-仿淘宝京东录音识别图标效果
  • 雷池 WAF 社区版:下一代 Web 应用防火墙的革新
  • 音视频实战---音视频解码
  • MyBatisPlus 之四:MP 的乐观锁和逻辑删除、分组、排序、链式的实现步骤
  • node.js常用的命令
  • Python从入门到精通秘籍十
  • Android:adb命令
  • Github基本功能和使用技巧
  • mac上系统偏好里无法停止mysql
  • launchctl及其配置、使用、示例
  • 如何在Ubuntu系统搭建Excalidraw容器并实现公网访问本地绘制流程图
  • PostgreSQL和MySQL的异同
  • 有ai写文案的工具吗?分享5款好用的工具!
  • docker+k8s相关面试题
  • 力扣爆刷第101天之hot100五连刷91-95
  • 前端vue实现甘特图
  • SQLiteC/C++接口详细介绍之sqlite3类(十五)
  • 每日三个JAVA经典面试题(十八)
  • RPC 和 序列化