Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 是否可以设置单个选项卡栏的样式?_Qt - Fatal编程技术网

Qt 是否可以设置单个选项卡栏的样式?

Qt 是否可以设置单个选项卡栏的样式?,qt,Qt,我想设置QTabWidget选项卡栏的各个选项卡的样式(不是悬停或当前,而是单个选项卡)为什么?因为我需要引起用户的注意,以便他知道该选项卡中出现的紧急信息。可能有多个选项卡需要注意。这似乎有点奇怪。为什么不从选中的选项卡开始 我不认为你能用样式表做到这一点。您可以轻松自定义“第一个”和“最后一个”,但不能自定义任何选项卡(AFAIK) 另一方面,您可以设置自定义图标以引起注意,或者使用void QTabBar::setTabTextColor(int index,const QColor&c

我想设置QTabWidget选项卡栏的各个选项卡的样式(不是悬停或当前,而是单个选项卡)为什么?因为我需要引起用户的注意,以便他知道该选项卡中出现的紧急信息。可能有多个选项卡需要注意。

这似乎有点奇怪。为什么不从选中的选项卡开始

我不认为你能用样式表做到这一点。您可以轻松自定义“第一个”和“最后一个”,但不能自定义任何选项卡(AFAIK)


另一方面,您可以设置自定义图标以引起注意,或者使用void QTabBar::setTabTextColor(int index,const QColor&color)

您必须组装自己的选项卡小部件,但我认为如果您将
qtabar
子类化并使用
setTabButton(int index,…)
您可以为选项卡中的项目设置自定义小部件,这将允许您控制行为,您可以通过代码对其进行更改,或通过属性选择器对其进行样式设置,例如

QTabBar MyButtonWidget[showalert=true] 
{
   background-color: red;
}

您可能想要尝试简单地使用样式表来直接设置选项卡的样式,而不是为此目的而进行子类化。在样式表中,可以使用:tab子控件访问单个选项卡,然后可以修改动态属性以将其状态设置为需要注意或不需要注意,并基于动态属性应用样式


请参阅:,

我这样做的原因是,每个选项卡都显示硬件设备的数据。如果发生故障,则为紧急情况,他们需要知道故障来自何处,并转到相应的选项卡。这就是为什么选择一个标签是不够的。正如安东所指出的,你可以给标签上色。如果是紧急情况,则可能需要切换标签。其他选项包括使用弹出窗口或在发生故障时显示警报小部件。如何在选项卡上方添加QLabel,并显示发生错误的消息以及导航到相关选项卡的链接/按钮。如果没有错误,消息将被隐藏。这是我的选择之一,但我不想去那里。@Kaleb:只有文本颜色可以更改。这可能不会引起足够的注意,但现在可以了。不,那不行,我无法准确选择要设置哪个选项卡的样式。例如,如果我有15个选项卡,我不能说:tab:3 only tab:left tab:right,tab:middle等@yan:但是,您可以使用QTabBar::tab[urgent=“true”],然后在代码中,使用aTab->setProperty(“urgent”,true)在选项卡上设置需要注意的动态属性;我很想相信你,但我只是尝试了一下,似乎不起作用。可能我做得不对,但我没有看到一种方法可以将动态属性添加到单个选项卡,而只添加到整个QTabWidget或qtabar。如果你能补充更多细节,我会试试看。最后一条评论。我还想知道如何向qtabar中的特定选项卡添加动态属性。