0

由于集成到 QtCreator 2.4.1 中的QtDesigner中的一些错误,我创建了单独的定义作为继承自QWidget的类。这解决了在QStackedWidget页面上的布局中放置小部件的问题。此外,这个很好分离的复杂用户界面。

但是,使用此解决方案时,我遇到了主表单和页面是单独类的问题。在内部类中,我看不到主窗体/窗口的元素(小部件、插槽),而逻辑需要在那里进行操作(启用/禁用某些按钮、绑定弹出窗口等)

我正在寻找一个如何解决此类问题的好模式。我尝试按照谷歌上的一些建议通过指针访问,但是我失败并崩溃了应用程序:-)这不是我想要的。

4

1 回答 1

0

解决此类问题的典型 Qt 方式是通过信号完成的。

在您的情况下,您可以从页面发出带有一些数据的信号,而主窗体具有连接到对象信号的关联函数(-s)。就像是:

定义

class page : public QObject
{
     Q_OBJECT

...

    signals:
        void my_custom_signal(int value);
};

执行

void page::function()
{
    // some code

    emit my_custom_signal(FORM_SHOW_ABOUT_DIALOG);
}
于 2012-05-30T20:03:56.117 回答