QWizard, How pass information from QWizard to QWizardPage

  • Hi i am making a wizard to import text files,it is almost finished.
    I know how to register field and share between Pages
    void QWizardPage::registerField(etc..
    Also know how retrieve the value when the wizard finish

    void TextImportWizard::accept()
    {     qDebug() <<"ImportWizard::accept:";
          m_filename = field("reg_filename").toString();
        qDebug() <<"m_filename:"<< m_filename;

    My problem is that registerField is memeber of QWizardPage,
    I need to register in the QWizard class
    Need to set the filename that will be open on the firts page.
    The QWizard class receive the filename,
    Now i need to share the filename with the first QWizardPage.
    and the QWizard class dont have registerField method?
    So how can do?

  • Lifetime Qt Champion


    QWizard is a QWidget so you could register the wizard itself but if it's only to give an information to the first page why not just have a setFilename also on your first page ?

  • Thanks for the reply but
    I still do not understand
    registerField is a QWizardPage method, the Qwizard only can read field
    QVariant QWizard::field(const QString & name) const

    my chain action is:
    filename to=> QWizard then to=> QWizardPage

    You say to add a method setFilename to the QWizardPage
    If do that, now how get access to page method from the QWizard.
    also before the void QWizardPage::initializePage()

    Can you provide a code snip.

  • Lifetime Qt Champion

    If you add a property to your QWizard derived class, you can call registerField on it like you do for any widget inside your QWizardPage

Log in to reply