设置表格化的QDockWidget标签的颜色

时间:2018-11-19 22:02:27

标签: c++ qt

我正在创建一个QDockWidget,并且我希望它的选项卡(在制表时)或标题栏(在未制表时)在两种颜色之间闪烁。

我目前正在执行以下操作,但是只有主体在两种颜色之间闪烁:

  //Setup the array of styles for the flash:
  std::array<const char*, 2> flashStyles = {
     " background-color: lightblue; color: black;",
     " background-color: orange; color: black; "
  };
  //Setup the timer and kick it off:
  connect(m_flashTimer, &QTimer::timeout, [=]()
  {
    //Perform the flash by alternating the background:
    setStyleSheet(flashStyles[
      m_pass == 0 ? m_pass++ : m_pass--
    ]);

    update();
  });

我似乎找不到任何可以更改选项卡颜色/标题栏颜色的属性。我是否需要在其他地方设置标签颜色属性?

1 个答案:

答案 0 :(得分:0)

您需要找出QDockWidget内部使用了哪个Widget来显示选项卡。然后使用正确的选择器使用适当的样式。可能需要选择QTabBar,它是QDockWidget的后代。可能看起来像:

QDockWidget QTabBar {}

也许这些链接也可以为您提供帮助:

http://doc.qt.io/archives/qt-4.8/stylesheet-syntax.html

http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qdockwidget

http://doc.qt.io/archives/qt-4.8/stylesheet-reference.html