【发布时间】:2018-06-07 23:47:21
【问题描述】:
我对 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);
}
这是它的视觉外观(偏移量在两个地方用红色标记):
我该如何解决这个问题?
【问题讨论】:
标签: c++ qt c++11 qwidget qtwidgets