【问题标题】:Best way to propagate variables from QWizard to the pages将变量从 QWizard 传播到页面的最佳方式
【发布时间】:2017-08-29 22:44:37
【问题描述】:

我正在寻找一种很好且简单的方法来传播变量,在我的例子中是从 QWizard 到页面的字符串。我曾尝试使用字段,但不注册它是行不通的。

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

伪代码:

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

我当然可以在向导 SetFolder 函数中通过查找和投射来访问页面,但我觉得这很丑陋。那么有没有一个很好的解决方案来传递全局变量而不注册到小部件?

谢谢!

【问题讨论】:

  • 我不确定我是否正确理解了您的问题,无论如何您可以创建一个名为例如的中间类。用于存储/读取应用程序全局内容的项目的 SharedData。

标签: qt


【解决方案1】:

我会回答我自己的问题。我没有在向导代码本身中找到方便的功能。现在我正在使用来自 QObject 的任何派生类的能力来保存从字符串到 QVariant 的映射中的属性。在向导页面中,您现在可以访问父级的属性。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多