当前位置: 首页 > 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填充。

欢迎关注。

相关文章:

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

参考: C GUI Programming with Qt 4, Second Edition 本地环境: win10专业版,64位,Qt5.12 目录 效果实现Qt Designer操作代码addStretch()解释 效果 首页有三个按钮和最近文件列表。 拖动窗口,按钮和文件列表仍然处…...

GOPS全球运维大会2024深圳站亮点抢先看!

2024年4月25-26日,博睿数据将受邀出席第二十二届 GOPS 全球运维大会深圳站。本次大会上,博睿数据AIOps首席专家兼产品总监贺安辉将亮相AIOps最佳实践及解决方案专场,分享《一体化智能可观测平台的两翼:数据模型AI算法》的主题演讲…...

给wordpress添加自定义字段的分类筛选功能

要为WordPress添加自定义字段的筛选功能,你需要使用WordPress的查询参数(query parameters)和WP_Query类来构建自定义查询。以下是一个详细的示例代码,展示了如何添加自定义字段的筛选功能。 首先,你需要在你的主题或插件的functions.php文件…...

Android 系统的启动过程

Android 系统的启动流程: RomBoot(只读存储器引导程序):这是设备上电时运行的初始软件。RomBoot执行基本的硬件初始化,确保硬件处于可以运行后续启动阶段的状态。这一阶段非常重要,因为它为整个启动过程奠定…...

jenkins配置源码管理的git地址时,怎么使用不了 credential凭证信息

前提 Jenkins使用docker部署 问题 (在jenlins中设置凭证的方式)在Jenkins的任务重配置Git地址,并且设置了git凭证,但是验证不通过,报错; 无法连接仓库:Command "git ls-remote -h -- http://192.1XX.0.98:X02/…...

Emotion Prompt-LLM能够理解并能通过情感刺激得以增强

Large Language Models Understand and Can be Enhanced by Emotional Stimuli 情感智能对我们的日常行为和互动产生了显著的影响。尽管大型语言模型(LLMs)被视为向人工通用智能迈进的一大步,在许多任务中表现出色,但目前尚不清楚…...

流畅的 Python 第二版(GPT 重译)(十三)

第二十四章:类元编程 每个人都知道调试比一开始编写程序要困难两倍。所以如果你在编写时尽可能聪明,那么你将如何调试呢? Brian W. Kernighan 和 P. J. Plauger,《编程风格的要素》 类元编程是在运行时创建或自定义类的艺术。在 P…...

C/C++炸弹人游戏

参考书籍《啊哈,算法》,很有意思的一本算法书,小白也可以看懂,详细见书,这里只提供代码和运行结果。 这里用到的是枚举思想,还有更好地搜索做法。 如果大家有看不懂的地方或提出建议,欢迎评论区…...

③【Docker】Docker部署Nginx

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ③【Docker】Docker部署Nginx docker拉取nginx…...

Elasticsearch:使用 OpenAI、LangChain 和 Streamlit 的基于 LLM 的 PDF 摘要器和 Q/A 应用程序

嘿! 您是否曾经感觉自己被淹没在信息的海洋中? 有这么多的书要读,而时间却这么少,很容易就会超负荷,对吧? 但猜猜怎么了? 你可以使用大型语言模型创建自定义聊天机器人,该模型可以帮…...

Linux课程____进程管理

记录工作日志 script 240319.log CTRLd 退出 cat 240319.log //查看 一、查看进程 1.静态 ps -aux 显示所有包含其他使用者的行程 ps -elf 2.动态 top 3.pgrep 查看特定条件的进程 pgrep -l “log” 搜索特定的程序 pgrep -l "ssh" pgrep -l -U…...

算法设计与分析-动态规划算法的应用——沐雨先生

一、实验目的 1. 掌握动态规划算法的基本思想,包括最优子结构性质和基于表格的最优值计算方法。 2.熟练掌握分阶段的和递推的最优子结构分析方法。 3. 学会利用动态规划算法解决实际问题 。 二、实验内容 1. 问题描述 &#…...

Flutter-仿淘宝京东录音识别图标效果

效果 需求 弹起键盘,录制按钮紧挨着输入框收起键盘,录制按钮回到初始位置 实现 第一步:监听键盘弹起并获取键盘高度第二步:根据键盘高度,录制按钮高度计算偏移高度,并动画移动第三步:键盘收起…...

雷池 WAF 社区版:下一代 Web 应用防火墙的革新

黑客的挑战 智能语义分析算法: 黑客们常利用复杂技术进行攻击,但雷池社区版的智能语义分析算法能深入解析攻击本质,即使是最复杂的攻击手法也难以逃脱。 0day攻击防御: 传统防火墙难以防御未知攻击,但雷池社区版能有效…...

音视频实战---音视频解码

该方法只能解码裸流。 1、使用avcodec_find_decoder查找解码器 根据使用解码器类型,决定是解码音频还是解码视频。 2、 使用av_parser_init获取裸流解析器和方法 3、使用avcodec_alloc_context3分配编解码器上下文 4、使用avcodec_open2将解码器和解码器上下文…...

MyBatisPlus 之四:MP 的乐观锁和逻辑删除、分组、排序、链式的实现步骤

乐观锁 乐观锁是相对悲观锁而言的,乐观锁假设数据一般情况不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果冲突,则返回给用户异常信息,让用户决定如何去做。 乐观锁适用…...

node.js常用的命令

Node.js 是一个用于执行 JavaScript 代码的运行时环境。以下命令是 Node.js 开发中常用的命令,可以帮助你进行包管理、项目配置和代码执行等操作。 node -v:检查 Node.js 的版本。npm -v:检查 npm(Node.js 包管理器)的…...

Python从入门到精通秘籍十

一、Python之了解异常 当在Python中执行代码时,如果发生错误,就会抛出异常(Exception)。处理异常是编写健壮的代码的重要部分。Python提供了try-except语句来捕获和处理异常。 下面是使用Python代码详细讲解异常处理的例子&…...

Android:adb命令

执行adb命令的窗口如下 Mac或Linux系统里的终端窗口; window系统运行输入cmd打开的指令窗口; Android Studio 里控制下面的Terminal窗口 1. 查看已链接的设备和模拟器 adb devices -l 2. 查看Android内核版本号 adb shell getprop ro.build.version.re…...

Github基本功能和使用技巧

基础功能 创建仓库(Repository):在GitHub上创建一个新的仓库,可以通过点击页面右上角的“New”按钮开始。选择仓库的名称、描述和许可证等信息,并选择是否将仓库设置为公开或私有。 克隆仓库(Clone&#x…...

3分钟终极指南:如何用Hotkey Detective快速定位Windows热键冲突

3分钟终极指南:如何用Hotkey Detective快速定位Windows热键冲突 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...

打卡信奥刷题(3116)用C++实现信奥题 P7365 [CTSC2002] 颁奖典礼

P7365 [CTSC2002] 颁奖典礼 题目背景 IOI2002 的颁奖典礼将在 YONG-IN Hall 隆重举行。人们在经历了充满梦幻的世界杯之后变得更加富于情趣。为了使颁奖典礼更具魅力,有人建议在 YONG-IN Hall 中搭建一个 I\text{I}I 字型的颁奖台,以此代表信息学 Inform…...

VMware Player虚拟机快速上手:从安装到运行全指南

1. VMware Player初体验:为什么选择它? 第一次接触虚拟机的朋友可能会问:为什么偏偏是VMware Player?这得从我的真实经历说起。去年我需要测试一个跨平台软件,但手头只有一台Windows笔记本。如果为了测试Linux和macOS环…...

手把手教你为i.MX6ULL开发板移植RTL8723BU WiFi驱动(附编译避坑指南)

i.MX6ULL开发板RTL8723BU WiFi驱动移植实战:从源码适配到编译排错全解析 当你在i.MX6ULL开发板上看到那个熟悉的WiFi模块型号——RTL8723BU时,是否已经预感到接下来将是一场与内核配置和编译错误的持久战?作为嵌入式开发者,我们都…...

AgentCPM深度研报助手与Unity联动:打造3D可视化宏观经济分析沙盘

AgentCPM深度研报助手与Unity联动:打造3D可视化宏观经济分析沙盘 你有没有想过,一份几十页、满是图表和数字的宏观经济分析报告,除了让专业人士头疼,还能变成什么样子?想象一下,当枯燥的GDP增长率、CPI指数…...

2026风口揭秘:普通人必看6大赚钱赛道,建议收藏!

2026年是国家十五五规划开局之年,也是康波周期新的回升期。本文分析了2026年普通人可以抓住的6大风口行业:AI人工智能全产业链、3D打印、IP消费与谷子经济、AI文娱、宠物经济、银发经济。文章指出,这些行业背后存在长期需求,普通人…...

跨越边界:实战配置Neo4j远程访问,赋能团队协作开发

1. 为什么团队开发需要远程访问Neo4j? 在敏捷开发团队中,经常遇到这样的情况:前端工程师在北京调试数据查询接口,后端工程师在上海优化数据写入逻辑,数据分析师在广州跑图算法。如果每个人都只能连接本地数据库&#x…...

WaveTools终极指南:三招提升《鸣潮》游戏体验的完整解决方案

WaveTools终极指南:三招提升《鸣潮》游戏体验的完整解决方案 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否在《鸣潮》中因帧率限制无法流畅体验战斗快感?或者每次切换账号都…...

Jetson Xavier设备树动态配置实战:jetson-io高效管脚复用指南

1. Jetson Xavier设备树动态配置入门指南 第一次接触Jetson Xavier的开发者经常会遇到一个头疼的问题:如何在不重新编译整个内核的情况下,快速修改设备树配置?这正是jetson-io工具的用武之地。作为NVIDIA官方提供的交互式配置工具&#xff0c…...

IBM与Arm达成战略合作,共同开发新型“双架构硬件“ | 美通社头条

、美通社消息:IBM近日宣布与Arm公司达成战略合作,共同开发新型"双架构硬件",以帮助企业更灵活、更可靠和更安全地运行未来的人工智能(AI)及数据密集型工作负载。得益于在系统设计领域(从芯片、软件到安全)的领导者地位,…...