将变量从QWizard传播到页面的最佳方法

时间:2014-09-09 15:37:34

标签: qt

Iam正在寻找一种传播变量的简单方法,在我的例子中是一个从QWizard到页面的字符串。我试图使用字段,但没有注册,这将无法正常工作。

因此,在我的向导的第三页上,我需要一个指向可以找到某些数据的文件夹的路径,这用于初始化QFileDialog。此QString不直接耦合到QWidget。所以我不能在它上面调用registerField。

伪代码:

// setup wizard:
    QMyWizard wiz;
    QString s = "c:\\";
    wiz.SetFolder(s);

我当然可以在Wizard SetFolder函数中通过查找和转换访问页面,但我觉得这很难看。那么有没有一个很好的解决方案来传递全局变量而无需注册到小部件?

谢谢!

1 个答案:

答案 0 :(得分:1)

我将回答我自己的问题。我在向导代码中找不到方便的功能。现在我使用QObject中任何派生类的能力来保存地图中从字符串到QVariant的属性。在向导页面中,您现在可以访问父项的属性。

http://qt-project.org/doc/qt-4.8/qobject.html#setProperty