那么,事情是我有一个tabwidget
在qtcreator创建,与许多选项卡和标签中有许多lineedit和其他对象。 tabWidget
的可关闭属性设置为true
。 我执行程序并关闭标签,但是当我想重新打开该选项卡,它是空的,我用这个代码:将选项卡添加到QTabWidget。是空的?
tabs->addTab(new QWidget(),"TAB 1");
我想使用相同的标签上qtcreator的设计创造。
那么,事情是我有一个tabwidget
在qtcreator创建,与许多选项卡和标签中有许多lineedit和其他对象。 tabWidget
的可关闭属性设置为true
。 我执行程序并关闭标签,但是当我想重新打开该选项卡,它是空的,我用这个代码:将选项卡添加到QTabWidget。是空的?
tabs->addTab(new QWidget(),"TAB 1");
我想使用相同的标签上qtcreator的设计创造。
你的问题是,你在你的代码中添加空插件:
tabs->addTab(new QWidget(),"TAB 1");
相反,你需要让你的小部件,并将它们添加这样的:
QWidget* widget; // it is stored
int index = ui->tabWidget->addTab(widget, "TAB 1");
凡服用这些小部件?
这是不够的,可关闭的设置为true,则还使用信号/槽:
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
}
嘛。我找到了解决方案:ui-> tabWidget-> addTab(ui-> name_tab,QIcon(“icon.png”),“NAMETAB”); – MRlinux
将其发布为其他人可以在以后轻松找到并使用它的答案 – demonplus