QTabBar::setTabButton中心按钮



我正在尝试通过使其显示为斜体来自定义Qt/C++中的QTabBar按钮,我发现的唯一方法是使用setTabButton并给它一个自定义小部件,在我的例子中是QLabel。但是,setTabButton 的位置参数只有左或右作为选项(请参阅下面的代码)。现在,它在其他所有居中的选项卡旁边看起来很奇怪。

tab_bar->setTabButton(index, QTabBar::RightSide,((QWidget*)(tab_label)));

请注意,有一个样式表应用于整个应用程序...不确定这是否会导致问题更加明显。

该标签的样式表为:

QLabel#GrainButton {
    background-color: transparent;
    border: 0px solid transparent;
    margin: 0px;
    padding: 0px;
    min-width: 20px;
    border: 0px solid transparent;
    border-radius: 0px;
}

关于如何居中的想法吗?

您可以创建自定义小部件而不是 QLabel。在此小部件中,您可以设置带有 2 个占位符小部件的 QHBoxLayout。

QHBoxLayout:
    PlaceHolder( sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); )
    YourLabel
    PlaceHolder( sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); )

这可能会将您的小部件放在中心。

继承 QProxyStyle 并覆盖 drawItemPixmap,pixmap 将显示在中心。

相关内容

  • 没有找到相关文章

最新更新