Python 为QTabWidget中未选择的选项卡上色
在一个3个选项卡的QTabWidget中,我想更改未选中选项卡的背景色,将选中选项卡保留为默认背景色(白色)。换句话说,我想更改显示在选定选项卡上方的两个未选定选项卡的一小部分的颜色 我环顾了这个网站,找到了一些代码,但我无法将它们转换成我需要的格式。到目前为止,我在我的程序的init中已经有了这个功能,但是它是不完整的,不起作用Python 为QTabWidget中未选择的选项卡上色,python,pyqt,qtstylesheets,qtabwidget,Python,Pyqt,Qtstylesheets,Qtabwidget,在一个3个选项卡的QTabWidget中,我想更改未选中选项卡的背景色,将选中选项卡保留为默认背景色(白色)。换句话说,我想更改显示在选定选项卡上方的两个未选定选项卡的一小部分的颜色 我环顾了这个网站,找到了一些代码,但我无法将它们转换成我需要的格式。到目前为止,我在我的程序的init中已经有了这个功能,但是它是不完整的,不起作用 self.ui.tabWidget.tabBar().setStyleSheet('xxxxxxxx {background-color: yellow }') 您
self.ui.tabWidget.tabBar().setStyleSheet('xxxxxxxx {background-color: yellow }')
您必须使用
QTabBar::选项卡:!选定的
:
from PyQt5 import QtWidgets
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QTabWidget()
# For more information to customize the QTabWidget and QTabBar check
# https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar
w.setStyleSheet(
"""
QTabBar::tab:!selected {
background: green
}
"""
)
for i in range(5):
w.addTab(QtWidgets.QWidget(), f"tab-{i}")
w.show()
w.resize(640, 480)
sys.exit(app.exec_())
就你而言:
self.ui.tabWidget.setStyleSheet("""QTabBar::tab:!selected{ background: green }""")
你能用我需要和理解的格式给出答案吗,比如我问题中的例子?我无法翻译您的“QTabBar::tab:!slected…”thanks@Dennis我提供了一个MWE,让社区了解如何使用它,但是如果您仍然不理解,我已经为您的特定代码放置了代码,谢谢。最后一件事:我的标签是有角度的(在QTDesigner中完成),绿色超出了有角度标签的边界。有没有办法使颜色与标签的形状一致?如果没有,就没有出价。@Dennis提供一张照片和一张你得到的东西的图片抱歉,我不知道如何在这里粘贴一张图片给你看。但是,在QtCreator/designer中,在QTabWidget的右侧,有两个选项卡形状选项——圆角和三角形。我选择三角形。所选选项卡显示为锯齿形边缘,未选选项卡上的绿色为方形。