QTabWidget的QTabBar是右边几个像素。如何在与QTabWidget相同的水平位置对齐它?

时间:2018-06-07 23:47:21

标签: c++ qt c++11 qwidget qtwidgets

我有一个分类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);
}

这是视觉上的样子(偏移在红色的两个地方标记):

enter image description here

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是因为为整个应用程序设置的样式表而发生的:

QTabWidget::tab-bar {
    left: 5px; /* move to the right by 5px */
}

所以,没关系:)