我为QTabWidget完成了大部分样式设计。我的标签可以移动和关闭。出于某种原因,当我尝试移动它们时,标签不会呈现。
这是我尝试移动其中一个之后的样子:
如您所见,标签完全消失。我在qss中遗漏了什么吗?这是我正在使用的样式表。
* {
background-color: #3f4543;
color: white;
font-size: 12pt;
margin: 0px;
border: none;
}
QTabWidget::pane {
border-top: 3px solid #535a57;
}
QTabWidget:movable {
background: #ff7500;
}
QTabBar::tab {
background: #535a57;
min-width: 8ex;
padding: 5px 10px;
}
QTabBar::tab:hover {
background: #6fc2ff;
}
QTabBar::tab:movable {
background: #ff7500;
}
QTabBar::tab:selected {
background: #0094ff;
}
QTabBar::tab:!selected {
margin-top: 5px;
}
我不确定我是否涵盖了所有可能的状态,但我不知道::tab
子控件的状态。感谢您抽出时间看这个!
答案 0 :(得分:3)
想出来。事实证明,我的一些应用程序范围的样式与QTabWidget冲突。我必须取出font-size
,margin
和border
才能从* { }
块中正确呈现条形。
答案 1 :(得分:0)
这被报告为一个错误,并已在Qt 5.6中解决。 https://bugreports.qt.io/browse/QTBUG-45173
问题是由QWidget的应用程序范围设置背景引起的:
QWidget {
background: #afafaf;
}
不幸的是,我不知道其他没有设置的解决方法。但是,有时你需要拥有应用程序范围的QWidget背景,并且拥有隐形移动标签是一个较小的邪恶......