设置QTabWidget的样式以仅在选项卡widget*上添加底部边框*不起作用
我试图设计一个QTabWidget来修改选项卡的外观,并在底部添加一个蓝色边框 当我为设置QTabWidget的样式以仅在选项卡widget*上添加底部边框*不起作用,qt,Qt,我试图设计一个QTabWidget来修改选项卡的外观,并在底部添加一个蓝色边框 当我为QWidget设置border-bottom样式时,每个小部件上都会出现一个蓝色边框,包括我想要的QTabWidget,但也包括我不想要的所有其他小部件。请参见此屏幕截图: 这似乎很有希望,因为我似乎只需要为QTabWidget设置底部边框,而不是将QWidget作为一个整体。但是,这不起作用,如此屏幕截图所示: 这是我的完整样式表-它在Qt Designer中的QTabWidget上设置: QTabWid
QWidget
设置border-bottom
样式时,每个小部件上都会出现一个蓝色边框,包括我想要的QTabWidget
,但也包括我不想要的所有其他小部件。请参见此屏幕截图:
这似乎很有希望,因为我似乎只需要为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我使用QTabWidget::pane
尝试了各种可能性,遗憾的是,它们都没有达到预期效果。关于StackOverflow和/或其他地方的其他问题表明,更好的方法是使用QWidget
选择器(然后在子Widget中重写);正如屏幕截图所示,这种方法看起来很有希望。尽管如此,在此期间,我通过子类化QTabWidget
解决了这个问题,将QTabWidget
提升到这个子类widget类,并在其子类qtabar
实例上调用settrabase(false)
。我不能再多说了:我在那个链接(和其他链接)上玩了很多示例在发布我的问题之前,我有一个问题与你2013年在这里发布的问题相似——也许你可以看一下?谢谢