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

2024-03-22 18:04

本文主要是介绍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填充。

欢迎关注。

这篇关于qt5-入门-标签页部件QTabWidget-1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/835861

相关文章

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显