我想根据用户输入在 Qt 应用程序中动态添加选项卡。
默认情况下,一个选项卡始终存在。为了方便起见,如果我可以在图形编辑器中创建此选项卡的布局和功能,那就太好了。然后我想将此布局转移到代码中,放入类构造函数并添加选项卡,例如:
ui->tabWidget->addTab(new myTabClass(), "Tab 2");
我也想以编程方式推广此选项卡。那可能吗?
小智 6
要动态添加选项卡并由类构造,您可以使用附加的 .ui 文件。这样您就可以使用 Qt Designer GUI 完成所有布局工作。
\n\n1) 在 mainwindow.ui 中创建一个空选项卡小部件。(例如,命名为 myTabWidget)
\n\n2) 在项目目录中添加一个新的 \xe2\x80\x9cQt Design Form Class\xe2\x80\x9d 作为 QWidget 类,而不是 QTabWidget(例如,名为 MyTabPage):
\n\n右键项目 -> 添加新 -> Qt -> Qt Design Form Class
\n\n3) 在 mytabpage.ui 中,您可以根据需要将其插入到 myTabWidget 中进行设计。
\n\n4)下一步您可以在MainWindow构造函数或其他地方实例化MyTabPage并将其添加到myTabWidget。myTabWidget 中的空选项卡之前可以删除。要访问 myNewTab 中的参数,您需要在 MyTabPage 中声明一个函数。
\n\nMainWindow::MainWindow(QWidget *parent) :\n QMainWindow(parent),\n ui(new Ui::MainWindow)\n{\n ui->setupUi(this);\n MyTabPage *myNewTab = new MyTabPage;\n ui-> myTabWidget ->removeTab(0);\n ui-> myTabWidget ->addTab(myNewTab, tr("name"))\n myNewTab->functionDeclaredInMyTabPage (); //access parameters of myNewTab\n}\nRun Code Online (Sandbox Code Playgroud)\n\nPS:我知道这个问题已经很老了。但我想为其他人提供一步一步的解决方案,因为我最近不得不为自己奋斗。
\n| 归档时间: |
|
| 查看次数: |
12237 次 |
| 最近记录: |