这很奇怪。使用此代码,我正在尝试向 QTabWidget 添加一个选项卡:
void SideWidget::changePanel(SearchablePanel* panel){
ui->nextButton->setEnabled(false);
cout << pointer;
widgetHistory[++pointer] = panel;
QWidget* widget = panel->getWidget();
cout << panel->id;
MainWindow::main->addTab(widget, "nT");
QTextEdit* thing = new QTextEdit("Test");
MainWindow::main->addTab(thing, "tabqx");
this->internalChange(panel);
}
和内部变化:
void SideWidget::internalChange(SearchablePanel *panel){
cout << "internale change, "+panel->id;
ui->scrollPanel->setWidget(panel->getWidget());
ui->prevButton->setEnabled(true);
}
现在,当我添加选项卡“tabqx”时,它可以工作,并且当我将滚动面板的小部件设置为panel->getWidget()
它时,它可以工作。但是,当我尝试添加选项卡“nT”时,它不起作用。我很迷茫。我应该注意到panel->getWidget()
返回 a QWidget
,正如预期的那样。具体来说,在这种情况下,它将返回一个QTextEdit
. 另外,MainWindow::main
是静态的QTabWidget
。
所以我的问题是,为什么没有添加标签“nT”?