设置列表化QDockWidget选项卡的颜色

问题描述 投票:0回答:1

我正在创建一个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();
  });

我似乎无法找到任何允许我更改选项卡颜色/标题栏颜色的属性。我是否需要在其他位置设置选项卡颜色属性?

c++ qt
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.