我有一个包含 QTabWidget 的 PyQt 主窗口。选项卡小部件包含一些按钮和文本框。
我想为整个标签背景着色,而不仅仅是标签栏区域中的标签。
我没有使用样式表,并且更喜欢使用调色板,因为我已经在使用调色板,但是如果样式表是唯一的选择,那没关系。
我试过了:
p = self.tabWidget.palette()
p.setColor(self.tabWidget.backgroundRole(), Qt.red)
self.tabWidget.setPalette(p)
这会产生一个红色的标签栏区域,但主背景仍然是白色的。
关闭自动填充,使用 self.tabWidget.setAutoFillBackground(False) 略有不同,各个选项卡现在颜色很好,但主体仍然是白色的。
尝试一个小样式表:
self.tabWidget.setStyleSheet("QWidget {background-color: yellow }")
这会为选项卡的主体着色,但也会将其他所有内容着色为黄色,包括按钮和文本框。此外,所有突出的小标签都是黄色的。自动填充没有任何影响。
关于如何为选项卡主体着色但不清除其他小部件的任何想法?
我正在使用 PyQt 4.10 版和 Python 2.7。