QTabWidget 的 QTabBar 在右边几个像素。如何将它对齐到与 QTabWidget 相同的水平位置?
QTabWidget's QTabBar is a few pixels to the right. How to align it at the same horizontal position as QTabWidget?
我有 sub-classed QTabWidget,里面有两个标签。我已经重写了 QTabWidget 的 ::resizeEvent() 以更改选项卡的宽度,因此它们可以占据 QTabWidget 宽度的一半。在 TAB1(左侧选项卡)中,我有一个水平拆分器 (QSplitter),它将选项卡分成两个相等的部分,每个部分显示不同的 QWidget。一切正常,除了 QTabBar 的左上角 X 偏移量向右偏移了几个像素。我认为 QTabBar 本身向右移动了几个像素。我该如何解决这个问题?
代码如下:
void WelcomeTabWidget::resizeEvent(QResizeEvent *event) {
tabBar()->setMinimumWidth(event->size().width());
tabBar()->setContentsMargins(0, 0, 0, 0);
_splitter->setSizes({event->size().width() / 2, event->size().width() / 2});
//The line below does not have any effect, so might as well remove it.
QTabWidget::resizeEvent(event);
}
这是它的外观(偏移量在两个地方用红色标记):
我该如何解决这个问题?
发生这种情况是因为为整个应用程序设置了样式表:
QTabWidget::tab-bar {
left: 5px; /* move to the right by 5px */
}
所以,没关系:)
我有 sub-classed QTabWidget,里面有两个标签。我已经重写了 QTabWidget 的 ::resizeEvent() 以更改选项卡的宽度,因此它们可以占据 QTabWidget 宽度的一半。在 TAB1(左侧选项卡)中,我有一个水平拆分器 (QSplitter),它将选项卡分成两个相等的部分,每个部分显示不同的 QWidget。一切正常,除了 QTabBar 的左上角 X 偏移量向右偏移了几个像素。我认为 QTabBar 本身向右移动了几个像素。我该如何解决这个问题?
代码如下:
void WelcomeTabWidget::resizeEvent(QResizeEvent *event) {
tabBar()->setMinimumWidth(event->size().width());
tabBar()->setContentsMargins(0, 0, 0, 0);
_splitter->setSizes({event->size().width() / 2, event->size().width() / 2});
//The line below does not have any effect, so might as well remove it.
QTabWidget::resizeEvent(event);
}
这是它的外观(偏移量在两个地方用红色标记):
我该如何解决这个问题?
发生这种情况是因为为整个应用程序设置了样式表:
QTabWidget::tab-bar {
left: 5px; /* move to the right by 5px */
}
所以,没关系:)