Qt如何增加QTabWidget的QTabBar大小

26

我需要将我的QTabWidget底部的选项卡变大。我们将使用触摸屏,因此默认大小有点太小。

目前我看不到简单的方法来做到这一点 (甚至没有找到很好的方法来实现它。我在QTabWidget中看到的与QTabBar相关的唯一方法是protected的,除了这个目的之外,我不认为有必要从这个类继承)。

问题:

我想做的就是将QTabBar设置为特定的大小。这可行吗?

除此之外,我能想到的只有子类化QTabWidget,然后通过扩展或重写该类的特性来控制QTabBar的大小。

谢谢。

2个回答

41
如果您不想要子类化的东西,可以使用Qt 样式表来快速设置选项卡的高度和宽度,如下所示:
// tabWidget is a pointer to a QTabWidget
tabWidget->setStyleSheet("QTabBar::tab { height: 100px; width: 100px; }");
// each tab should now be 100x100px

请注意,样式表引用的是QTabBar,即使我们在QTabWidget上调用了setStyleSheet()。


我建议同时使用样式表。 - yan bellavance
这在Linux上运行得很好...但在Mac上没有任何效果。有什么想法为什么? - Shachi
面板的宽度跟随其标签页的宽度组合而定。如何避免这种情况? - greendino

10
如果您正在使用Qt Designer,则可以直接在QTabWidget对象的样式表属性中放置QTabBar :: tab { height:100px; width:100px; }来实现。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接