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

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

文章目录


1、 前言

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


2、问题示例

我们在VS中创建一个Qt的窗体应用,并在中心QWidget中添加一个QTabWidget,如下图所示:

tab页的标题字体比较小,为了能更好的显示,修改了QTabWidget的样式,即:

cpp 复制代码
 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的字体保持一致即可,即:

cpp 复制代码
  //在中心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( "测试宽度值"));
相关推荐
重生之我在20年代敲代码9 分钟前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
爱上语文11 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
2401_858286113 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py3 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
C-SDN花园GGbond5 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
迷迭所归处6 小时前
C++ —— 关于vector
开发语言·c++·算法
架构文摘JGWZ6 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
leon6256 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab