在我的QT应用我使用QTabWidget用于基本导航。这QTabWidget我设置的用户界面。在一些的QTabWidget我需要的选项卡具有QStackedWidget能够“在视图中向下钻取”。

我试图加入QStackedWidget用户界面内还但它会自动添加一个页面到堆栈中。我想在代码中添加的页面为QStackedWidget代替。如果我在代码尝试这样做的stackedWidget已经有一个标准的页面,以便进myWidget会在堆栈中的第二位。

MyWidget *myWidget = new MyWidget(ui.stackedWidget);
ui.stackedWidget->addWidget(myWidget);

什么是设置的最佳和最简单的方式QStackedWidget内部QTabWidget标签?

有帮助吗?

解决方案

如何:

QTabWidget *myTabWidget = new QTabWidget(this);
QStackedWidget *myStackedWidget = new QStackedWidget(myTabWidget);

myTabWidget->addTab(myStackedWidget, "Stacked Widget");

您也可以删除Qt的设计师/创作者所有现有的堆栈页。在堆叠部件只需右键单击并删除所有现有的网页。然后,你可以使用addWidget()添加在代码中所需的页。

其他提示

我会说 - 在用户界面创建它,就像你做(这样它更容易布局/位置,标签上添加其它部件后,等),但简单地从删除所有现有的网页(由设计者加)代码并添加新的。

从Qt的4.6其实设计允许删除堆叠的所有页面控件 - 你需要点击右键,进入子菜单“Y的页面X”,然后选择删除。重复,直到所有的页面都消失了:)

也许这得到了添加到设计就在最近,所以你仍然可能需要,如果你有Qt的早期版本,从代码中删除它们。

在谈到保持里面的东西对用户界面保持它的代码我会投给“尽可能多的UI文件尽可能”:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top