4

在我的应用程序中,我有 QTabWidget 和 3 个页面,其中设计了控件,使用 Qt creator 2.4.1。现在我想通过创建新类将这些页面的功能与 MainWindow 分开。

我的问题是如何在我的新类中访问 MainWindow::ui 实例?这是私下声明的。

它是一个 qt 桌面应用程序,平台是 qt 4.8.1/win 7。

4

1 回答 1

1

您不能在选项卡中直接访问 MainWindow 的 ui。由于您的 QTabWidget 是 MainWindow 的子级(这就是它应该实现的方式,并假设您这样做了)。

但是您可以通过 Signals 和 Slots 来实现这一点。您可以通过将插槽写入从各个选项卡发出的信号来在 MainWindow 中执行操作。

或者

您可以在 MainWindow 上编写一个方法,该方法将在其 UI 上进行操作。并从选项卡小部件中调用它 -

this->parent->parent->uiMethod();

// this(Tab) -> parent(QTabWidget) -> parent(MainWindow) -> [related method]
于 2012-07-23T07:26:37.947 回答