c++ 向QTabWidget添加选项卡时显示问题

zqdjd7g9  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(468)

我正在尝试向现有QTabWidget添加选项卡。我在QT设计器中用一个现有的选项卡布局了该选项卡。然后我以编程方式添加了一个选项卡。从视觉上看,第一个标签几乎完全消失,因为新标签与它重叠。如果我尝试单击原始选项卡,它会完全消失,并被新选项卡取代。添加其他选项卡可以正常工作,但原始选项卡仍然没有。
我试着从等式中删除QT设计器,只是复制代码。我还是有同样的问题。下面是我的代码现在看起来的样子:
outputLogGroupBox是QGroupBox *

static QTabWidget *diagnosticsTabWidget;

diagnosticsTabWidget = new QTabWidget(m_qUI.outputLogGroupBox);
diagnosticsTabWidget->setObjectName(QStringLiteral("diagnosticTabWidget"));
diagnosticsTabWidget->setGeometry(QRect(16, 79, 421, 551));

QWidget * outputTab = new QWidget();
outputTab->setObjectName(QStringLiteral("Output"));

diagnosticsTabWidget->addTab(outputTab, QString());
diagnosticsTabWidget->setTabText(diagnosticsTabWidget->indexOf(outputTab), QStringLiteral("Output"));

diagnosticsTabWidget->setCurrentIndex(0);
diagnosticsTabWidget->setHidden(false);


QWidget * newTab = new QWidget();
diagnosticsTabWidget->addTab(newTab, "test");

如果我省略了newTab的创建,我可以看到我的原始选项卡(outputTab)。在创建第二个选项卡时,我看到一个选项卡具有原始选项卡的部分名称(output)和第二个选项卡的名称(test)。如果我添加第三个选项卡,除了第三个选项卡之外,我得到的与第二个选项卡相同。单击任何一个选项卡都会显示一组看起来合适的选项卡,但缺少原始选项卡。

jtjikinw

jtjikinw1#

在尝试让其他东西工作的时候,我在样式表上做了一些修改,并添加了以下内容:

setStyleSheet("QTabBar::tab:first {max-width: 0px;}");

显然,当只有一个标签时,这不会影响事情,但当一个标签添加第二个标签时。

相关问题