gpt4 book ai didi

c++ - 如何在 Qt 中动态添加选项卡?

转载 作者:搜寻专家 更新时间:2023-10-31 01:03:50 41 4
gpt4 key购买 nike

我想根据用户输入在 Qt 应用程序中动态添加选项卡。

  1. 默认情况下,一个选项卡始终存在。为了方便起见,如果我可以在图形编辑器中创建此选项卡的布局和功能,那就太好了。然后我想将此布局转换为代码,放入类构造函数并添加选项卡,如:

    ui->tabWidget->addTab(new myTabClass(), "Tab 2");

  2. 我也想以编程方式推广此选项卡。这可能吗?

最佳答案

要动态添加选项卡并由类构建,您可以使用额外的 .ui 文件。这样您就可以使用 Qt Designer GUI 完成所有布局工作。

1) 在 mainwindow.ui 中创建一个空的选项卡小部件。 (例如命名为 myTabWidget)

2) 在您的项目目录中添加一个新的“Qt Design Form Class”作为 QWidget 类,而不是 QTabWidget(例如命名为 MyTabPage):

右键项目->添加新的->Qt->Qt设计窗体类

3) 在 mytabpage.ui 中,您可以根据需要将设计插入到 myTabWidget 中。

4) 下一步您可以在 MainWindow 构造函数或其他地方实例化 MyTabPage 并将其添加到 myTabWidget。之前可以删除 myTabWidget 中的空选项卡。要从 myNewTab 访问参数,您需要在 MyTabPage 中声明一个函数。

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
MyTabPage *myNewTab = new MyTabPage;
ui-> myTabWidget ->removeTab(0);
ui-> myTabWidget ->addTab(myNewTab, tr("name"))
myNewTab->functionDeclaredInMyTabPage (); //access parameters of myNewTab
}

PS:我知道这个问题很老了。但我想为其他人提供一步一步的解决方案,因为我最近不得不为自己挣扎。

关于c++ - 如何在 Qt 中动态添加选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127302/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com