嗯,问题是我在qtcreator中创建了tabwidget
,有很多标签,在标签中有许多lineedit和其他对象。
tabWidget
的可关闭属性设置为true
。
我执行程序并关闭选项卡,但是当我想重新打开选项卡时,它是空的,我正在使用此代码:
tabs->addTab(new QWidget(),"TAB 1");
我想在qtcreator的设计上使用相同的制表符。
答案 0 :(得分:0)
您的问题是您在代码中添加了空小部件:
tabs->addTab(new QWidget(),"TAB 1");
相反,您需要保留小部件并将其添加为:
QWidget* widget; // it is stored
int index = ui->tabWidget->addTab(widget, "TAB 1");
在哪里拍摄这些小部件?
仅将closable设置为true是不够的,您还可以使用signal / slot:
connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));
最后:
void YourWindow::closeTab(int index)
{
// do something else
QWidget* widget = ui->tabWidget->widget(index);
ui->tabWidget->removeTab(index);
// here you can remember it and use later when adding tab
}