QT(C#)-QTabWidget修改字体后Tab页显示不完整的解决方法

news2024/12/23 14:33:58

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1、 前言
  • 2、问题示例
  • 3、解决方法


1、 前言

最近一段时间学习QT的程序开发,遇到了如标题所说的问题,经过查询和摸索找到了解决方法,为了防止后续忘记,就记录了下来。


2、问题示例

我们在VS中创建一个Qt的窗体应用,并在中心QWidget中添加一个QTabWidget,如下图所示:
在这里插入图片描述
tab页的标题字体比较小,为了能更好的显示,修改了QTabWidget的样式,即:

 QTabWidget* centralTabWidget = new QTabWidget(this);
    centralTabWidget->setStyleSheet(
        "QTabBar::tab{background-color: #FFFFFF;font: 75 10pt;height : 50px;margin - top:1px; margin - right:1px;	margin - left:1px;margin - bottom:1px;}"
        "QTabWidget::pane{border-top: 2px solid  #3368b8;}"
        "QTabBar::tab:hover{font: 75 10pt;color : #000000; background-color:  #ebffff;}"
        "QTabBar::tab:selected{font: 75 10pt;color:#ffffff;background-color: #3368b8;}"      
    );
    setCentralWidget(centralTabWidget);
    QWidget* firstTabWidget = new QTabWidget(centralTabWidget);
    centralTabWidget->insertTab(0,firstTabWidget,QStringLiteral( "测试宽度值"));

在这里插入图片描述
此时出现了遮挡。

3、解决方法

在样式设置中修改QTabBar的样式,其字体与QTabBar::tab的字体保持一致即可,即:

  //在中心Widget中添加Tabwidget
    QTabWidget* centralTabWidget = new QTabWidget(this);
    centralTabWidget->setStyleSheet(
        "QTabBar::tab{background-color: #FFFFFF;font: 75 10pt;height : 50px;margin - top:1px; margin - right:1px;	margin - left:1px;margin - bottom:1px;}"
        "QTabWidget::pane{border-top: 2px solid  #3368b8;}"
        "QTabBar::tab:hover{font: 75 10pt;color : #000000; background-color:  #ebffff;}"
        "QTabBar::tab:selected{font: 75 10pt;color:#ffffff;background-color: #3368b8;}"
        "QTabBar{font: 75 10pt;color:#ffffff;background-color: #3368b8;}"
         
    );
    setCentralWidget(centralTabWidget);
    QWidget* firstTabWidget = new QTabWidget(centralTabWidget);
    centralTabWidget->insertTab(0,firstTabWidget,QStringLiteral( "测试宽度值"));

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1990954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSP-J 复赛 模拟题6

1.大小写字母互换: 题目描述 由输入给定一个字符串,你的任务是将原字符串中的大写字母转换成其对应的小写字母,还要将原字符串中的小写字母转换成对应的大写字母,其余字符不变。 输出转换之后得到的新字符串。 输入格式 一行…

Flink开发语言大比拼:Java与Scala怎么选好?

在选择Apache Flink的开发语言时,Java和Scala各有优劣,最合适的选择取决于项目需求、团队技能和偏好。 Apache Flink是一个开源流处理框架,广泛应用于实时数据处理场景,如金融交易监控、网络流量分析和用户行为分析等。Flink支持J…

水泵性能参数详解

水泵性能参数之流量 水泵流量是指水泵单位时间内输送液体的体积或重量,用符号Q来表示,常用单位有m/h、m/s、L/s或t/h。 水泵铭牌上标注的流量是这台泵的设计流量,又称额定流量,水泵在额定流量下运行效率最高。 水泵流量计算公式为…

代码随想录训练营 Day23打卡 回溯算法part02 39. 组合总和 40. 组合总和II 131. 分割回文串

代码随想录训练营 Day23打卡 回溯算法part02 一、 力扣39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回…

李飞飞亲自撰文,数十名科学家签署联名信,反对加州AI限制法案

AI真的已经危险到要如此监管的地步了吗? 点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com 在创新的热土硅谷,李飞飞、吴恩达等 AI 科学家正在与监管部门展开一场关于安全与创新的拉锯战。 这场拉锯战的核心是一个名叫 SB-1047 的法案…

云平台部署 FunAudioLLM 语音天花板

FunAudioLLM FunAudioLLM 是阿里开源的语音处理模型,包含 SenseVoice 和 CosyVoice 两个模型。可以实现 5 种语言生成,以及 50 种语言无缝翻译,还能识别语音情绪。 FunAudioLLM:https://github.com/FunAudioLLM CosyVoice开源仓…

【Material-UI】按钮组:垂直按钮组详解

文章目录 一、按钮组概述1. 组件介绍2. 基本用法 二、垂直按钮组的应用场景1. 导航菜单2. 表单操作3. 选项切换 三、按钮组的样式定制1. 变体(Variants)2. 颜色(Colors) 四、垂直按钮组的优势1. 空间利用2. 可读性与易用性3. 视觉…

【网络基础一】几乎不讲任何网络协议细节,搭建网络基本结构

文章目录 问题认识“协议”计算机通信问题技术问题应用问题 协议分层 统编程帮助我们处理数据,网络编程帮助我们获取数据,网络配上我们写的线程池模块很快就搭建起来了。 问题 网卡是文件吗? 是的,所以未来网络通信的本质反馈到编…

Obsidian插件安装与开发

大概背景 事情的起因还是因为做笔记,我喜欢利用插件Obsidian Git自动同步笔记到Gitee,写md文档有个问题就是关于图片如何存储。 我个人习惯是将所有图片都保存到指定的文件夹下,如图👇 由于Obsidian对粘贴图片默认格式为这样的&…

ESXI加入VMware现有集群提示常规性错误

集群内有vSphere6.5和6.7的版本,都开启了EVC 这台老服务器是DELL R710添加时报错,网上查了些资料说要重装ESXI或者关闭EVC等等 最终解决方法是,给这台ESXI配置一个NTP服务器,同步系统时间,之后即可正常加入集群 往期文…

【安卓】文件存储

文章目录 将数据存储到文件中从文件中读取数据 文件存储是Android中最基本的数据存储方式,它不对存储的内容进行任何格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合存储一些简单的文本数据或二进制数据。如果你想使用文件…

家庭教育—情绪教育:塑造孩子情绪智力的金钥匙

文章目录 1. 背景介绍2. “1310镇静”方法的介绍3. 方法的科学依据4. 实施步骤5. 总结 1. 背景介绍 在快节奏的现代生活中,儿童面临着越来越多的情绪挑战。情绪教育作为素质教育的重要组成部分,越来越受到家长和教育者的重视。情绪教育不仅关乎儿童的心…

第100+20步 ChatGPT学习:R实现Lasso回归

基于R 4.2.2版本演示 一、写在前面 花了好几期分享了使用R语言实现机器学习分类,基本把常见模型都讲完了。 最后就以Lasso回归收尾得了。 Lasso回归应该很出名了,做特征变量筛选的,因此,不过多介绍。 二、R代码实现Lasso回归 …

OceanBase V4.2特性解析:MySQL模式下GIS空间表达式的场景及能力解析

1. 背景 1.1. OceanBase Mysql gis空间表达式的应用场景及能力 在OceanBase 4.1版本中,mysql模式下支持了gis数据类型以及部分空间对象相关的表达式,随着客户使用空间数据的需求日益增长,需要快速地补齐空间数据存储和计算分析的能力&#…

简单分享下Python进程

1. 单进程与多进程 理论讲解: 进程是操作系统中资源分配的基本单位,每个进程都有独立的内存空间。 多进程允许同时运行多个进程,提高CPU利用率和程序响应速度。 示例代码: import os print("当前进程ID:", os.getp…

【适配器模式】设计模式: 穿越接口的时空隧道(架起接口间的桥梁)

文章目录 Java 设计模式之适配器模式:理论与实践1. 引言1.1 结构型模式介绍1.2 为什么需要适配器模式? 2. 适配器模式概述2.1 定义2.2 关键概念2.3 适配器模式的类型 3. 适配器模式的参与者4. 适配器模式的工作原理4.1 类适配器模式的工作流程4.2 对象适…

CSS基础 - CSS3

目录 A. 简介 B. 基础用法 C. 总结 A. 简介 CSS3 是 CSS(层叠样式表)技术的升级版本。 一、新特性概述 选择器增强 CSS3 引入了更多强大的选择器,使得开发者能够更精确地选择和样式化网页元素。例如,属性选择器可以根据元素…

Golang | Leetcode Golang题解之第329题矩阵中的最长递增路径

题目: 题解: var (dirs [][]int{[]int{-1, 0}, []int{1, 0}, []int{0, -1}, []int{0, 1}}rows, columns int )func longestIncreasingPath(matrix [][]int) int {if len(matrix) 0 || len(matrix[0]) 0 {return 0}rows, columns len(matrix), len(m…

仓颉编程入门 -- 循环语句详解

仓颉编程入门 – 循环语句 一 . while 表达式 while 表达式的基本形式为: while (条件) {循环体 }注意事项 : 其中“条件”是布尔类型表达式,“循环体”是一个代码块。while 表达式将按如下规则执行: 计算“条件”表达式,如果…