Qt调整QTabBar图标和文字的间距

原生的QTabBar放上图标和文字,固定QTab的宽度时,间距较大。通过自定义样式,轻松解决间距问题

cpp 复制代码
#include <QProxyStyle>

class MyTabStyle : public QProxyStyle
{
    Q_OBJECT
public:
    explicit MyTabStyle (QStyle *style = nullptr) : QProxyStyle(style)
    {
    }

    virtual void drawItemText(QPainter *painter, const QRect &rect,
                              int flags, const QPalette &pal, bool enabled,
                              const QString &text,
                              QPalette::ColorRole textRole) const Q_DECL_OVERRIDE
    {
        QStyle::drawItemText(painter, rect, Qt::AlignLeft | Qt::AlignVCenter,
                             pal, enabled, text, textRole);
    }
};

应用示例:

cpp 复制代码
ui->tabWidget->tabBar()->setStyle(new MyTabBar);
相关推荐
geovindu几秒前
CSharp: Template Method Pattern
开发语言·后端·c#·.net·模板方法模式·行为模式
专注API从业者2 分钟前
Open‑Claw 实战|无需逆向,快速搭建电商商品监控与数据分析系统
开发语言·数据结构·数据库·数据分析·php
西西弗Sisyphus11 分钟前
Qt 无边框窗口自己实现拖拽与缩放
开发语言·qt
狮子雨恋15 分钟前
anaconda python环境和QT python环境不一致如何解决
开发语言·python·qt
独立开发之道25 分钟前
【three.js教程】Three.js 矩阵变换:position/quaternion/scale 和 matrix 到底怎么配合
开发语言·javascript·矩阵
纪念 22925 分钟前
数据结构排序(四)
开发语言·数据结构
IvanCodes27 分钟前
Python 基础语法(四):循环结构与流程控制
开发语言·python
OPEN-F28 分钟前
C++工程化:编译链接、调试与性能优化
开发语言·c++
坐吃山猪42 分钟前
【多线程】什么时候必须/推荐使用Thread类
java·开发语言
一只小阿乐1 小时前
java 快速上手开发 2
java·开发语言·前端