在PySide中,有办法为QTabWidget的选项卡按钮设置样式吗?

1 投票
1 回答
1107 浏览
提问于 2025-04-17 19:57

有没有办法在PySide中给QTabWidget的标签按钮加样式?我现在正在尝试制作一个自定义样式的控件,已经给其他所有元素都加了样式,但就是不知道怎么给QTabWidget加样式……

我试过:

self.tabWidget = QtGui.QtabWidget(Form)
self.tabWidget.tab.setStyleSheet("some style goes here")

但我现在知道我不能那样引用标签。任何帮助都会非常感谢。

1 个回答

2

你在寻找 QTabBar::tab 这个子控件。

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from PyQt4 import QtGui, QtCore

class MyWindow(QtGui.QTabWidget):
    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)

        self.setStyleSheet("""
            QTabBar::tab {
                color: #FF0000;
            }
        """)

        for tabNumber in range(3):
            widget = QtGui.QLabel(self)
            widget.setText("This is widget #{0}".format(tabNumber))

            self.addTab(widget, "Tab {0}".format(tabNumber))

if __name__ == "__main__":
    import sys

    app = QtGui.QApplication(sys.argv)
    app.setApplicationName('MyWindow')

    main = MyWindow()
    main.show()

    sys.exit(app.exec_())

撰写回答