使用QProxyStyle 设备QTabBar背景颜色
时间: 2024-02-25 17:54:31 浏览: 129
您可以重写 `QProxyStyle` 的 `drawControl` 函数来设定 `QTabBar` 的背景颜色。具体实现可以参考以下代码:
```python
from PyQt5.QtWidgets import QProxyStyle, QStyle, QStyleOptionTabBarBase, QTabBar
from PyQt5.QtGui import QPainter, QColor
class CustomTabStyle(QProxyStyle):
def drawControl(self, element, option, painter, widget):
if element == QStyle.CE_TabBarTabShape:
baseOption = QStyleOptionTabBarBase()
baseOption.initFrom(widget)
if option.rect.intersects(baseOption.rect):
bgColor = QColor(50, 50, 50) # 设置为灰色背景
painter.fillRect(option.rect, bgColor)
QProxyStyle.drawControl(self, element, option, painter, widget)
# 在初始化 QTabBar 时设置自定义的样式
tabBar = QTabBar()
tabBar.setStyle(CustomTabStyle())
```
请注意,这段代码中的颜色是用 `QColor` 类型定义的,您可以根据自己的需要修改。
阅读全文