我试图在Qt/C++中定制一个QTabBar按钮,使其显示为斜体,我发现的唯一方法是使用setTabButton并为其提供一个自定义小部件,在我的例子中是一个QLabel。然而,setTabButton的position参数只有Left或Right作为选项(参见下面的代码)。现在,它在其他都居中的选项卡旁边看起来很奇怪。
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;
}有什么想法可以把这个放在中心位置吗?
发布于 2012-12-11 22:59:57
您可以创建自定义小部件,而不是QLabel。在这个小部件中,您可以设置一个带有2个占位符小部件的QHBoxLayout。
QHBoxLayout:
PlaceHolder( sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); )
YourLabel
PlaceHolder( sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); )这可能会将您的小部件放在中心位置。
发布于 2020-07-08 09:49:10
继承QProxyStyle并覆盖drawItemPixmap,像素图将显示在中心。
https://stackoverflow.com/questions/13822186
复制相似问题