PyQt4:如何在QTabBar上更改文本大小和字体

3
如何在QTabWidget中更改文本大小和字体?
class TabBar(QtGui.QTabBar):
    def ???(self, ???):
1个回答

8

使用样式表即可实现,不需要进行子类化。但从您之前的问题中可以看出,您已经在这方面进行了操作。您可以将其放在__init__中。

class TabBar(QtGui.QTabBar):
    def __init__(self, parent=None):
        super(TabBar, self).__init__(parent)

        self.setStyleSheet('font-size: 18pt; font-family: Courier;')

如果您不想使用自定义的QTabBar,则相当于在相关的QTabWidget上设置样式表,带有QTabBar的选择器:
myTabWidget.setStyleSheet('QTabBar { font-size: 18pt; font-family: Courier; }')

再次感谢@Avaris!嗯,但是文本无法正确显示,文本下方的边距比上方多,有解决方法吗? - user1006989
@X.Jacobs: 还需要多少余量?这里看起来很好。顺便说一句,text-align指定了水平对齐方式。 - Avaris
这里显示的可能是由于关闭选项卡图标的原因。是否也可以调整其大小? - user1006989
@X.Jacobs:有一个QTabBar::close-button的css选择器,但是您无法从中自定义大小,因为该按钮本身实际上是一个小部件。但是,您可以使用QTabBar.setTabButton放置新的带有所需大小的按钮,或者在使用QTabBar.tabButton获取旧按钮后调整其大小。但是恐怕您需要逐个选项卡手动完成此操作。 - Avaris
太多的自定义了,哈哈,我想我会选择双击关闭并且没有任何图标 :) - user1006989

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