You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置QDockWidget分组颜色?PySide6分组标题背景统一方案

PySide6合并QDockWidget分组后标题背景颜色不一致的解决方法

我将所有QDockWidget合并到一个分组后,分组标题的背景出现两种不同颜色。请问如何通过QSS或代码将其改为单一颜色?

环境

  • macOS 11.6.5
  • Python 3.9.12
  • PySide6 6.3.1

复现代码

# coding: utf-8

import sys
import platform

from PySide6.QtWidgets import QApplication, QMainWindow, QDockWidget, QTextEdit
from PySide6.QtCore import Qt, QSysInfo


def main():
    app: QApplication = QApplication(sys.argv)
    window = QMainWindow()
    dock1 = QDockWidget("dock1")
    dock2 = QDockWidget("dock2")
    for dock in [dock1, dock2]:
        dock.setFeatures(dock.DockWidgetFloatable | dock.DockWidgetMovable)
    window.addDockWidget(Qt.LeftDockWidgetArea, dock1)
    window.addDockWidget(Qt.RightDockWidgetArea, dock2)

    os_info = QTextEdit()
    os_info.setText(platform.version())
    dock1.setWidget(os_info)

    qt_info = QTextEdit()
    info = QSysInfo()
    qt_info.setText(f"{info.kernelVersion()}, {info.prettyProductName()}, {info.productVersion()}")
    dock2.setWidget(qt_info)

    window.show()
    app.exec()


if __name__ == '__main__':
    main()

应用截图

应用截图

解决方案

方法一:全局QSS设置

在应用初始化时添加全局样式表,统一覆盖QDockWidget标题栏的背景色:

app: QApplication = QApplication(sys.argv)
# 替换#f0f0f0为你需要的单一颜色值
app.setStyleSheet("""
QDockWidget::title {
    background-color: #f0f0f0;
}
QDockWidget::tab {
    background-color: #f0f0f0;
}
QDockWidget::tab:selected {
    background-color: #f0f0f0;
}
""")

方法二:单个QDockWidget设置样式

如果不需要全局统一,可单独为每个QDockWidget设置样式:

for dock in [dock1, dock2]:
    dock.setFeatures(dock.DockWidgetFloatable | dock.DockWidgetMovable)
    # 替换#f0f0f0为你需要的单一颜色值
    dock.setStyleSheet("""
    QDockWidget::title {
        background-color: #f0f0f0;
    }
    QDockWidget::tab {
        background-color: #f0f0f0;
    }
    """)

说明

macOS系统中Qt原生样式会对QDockWidget标题栏有特殊渲染,使用QSS可以完全覆盖原生样式,确保合并分组后标题背景色统一。若需要贴合系统风格,可选择与系统UI色调匹配的颜色值。

内容的提问来源于stack exchange,提问作者Color

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:06:30