0
我试图设计样式化QTabWidget以修改选项卡的外观,并在底部添加蓝色边框。样式化QTabWidget,只在选项卡窗口小部件上添加底部边框*不起作用
当我为QWidget
设置border-bottom
样式时,每个窗口小部件都会出现一个蓝色边框 - 包括我想要的一个,QTabWidget
,但也包括其他所有窗口小部件,我不想这样做。看到这个截图:
这似乎是有前途的,因为它似乎一切我需要做的是设置bottom-border
为QTabWidget
,而不是QWidget
为一体。但是,这并不工作,因为这截图显示:
这里是我的完整样式 - 它的Qt Designer中设置的QTabWidget
:
QTabWidget {
border-bottom: 3px solid #3233ff;
}
QTabBar::tab:selected {
border-left: 1px solid #1c1515;
padding-left: 10px;
border-right: 1px solid #1c1515;
padding-right: 10px;
border-bottom: 1px solid #1c1515;
border-top: 1px solid #a0a0a0;
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #ededed, stop: 0.7 #9898ff,
stop: 0.9 #7e7fff, stop: 1.0 #3233ff);
}
QTabBar::tab:!selected {
border-left: 1px solid #1c1515;
padding-left: 10px;
border-right: 1px solid #1c1515;
padding-right: 10px;
border-bottom: 1px solid #1c1515;
border-top: 1px solid #a0a0a0;
margin-bottom: 2px;
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #e0e0e0, stop: 0.4 #dbdbdb,
stop: 0.5 #d3d3d3, stop: 1.0 #cfcfcf);
}
我必须做的就是蓝色底部边框出现 - 但仅限于QTabWidget?
我尝试过各种可能性,使用'QTabWidget :: pane',而且可悲的是,他们都没有预期的效果。关于StackOverflow和/或其他地方的其他问题表明,更好的方法是使用'QWidget'选择器(然后在子窗口小部件中覆盖);如截图所示,这种方法看起来很有前途。尽管如此,在此期间,我通过继承'QTabWidget',将QTabWidget提升为这个子类,并且在其子QTabBar实例上调用'setDrawBase(false)'来解决这个问题。 – 2013-04-28 21:28:23
我不能再多说那里了:http://doc.qt.digia.com/4.7/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar – 2013-04-29 09:01:38
我在那个链接(和其他人的例子中玩过)广泛发布我的问题之前。 – 2013-04-30 09:38:34