com.trolltech.qt.gui
Class QWizardPage

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.core.QObject
                  extended by com.trolltech.qt.gui.QWidget
                      extended by com.trolltech.qt.gui.QWizardPage
All Implemented Interfaces:
QPaintDeviceInterface, QtJambiInterface

public class QWizardPage
extends QWidget

The QWizardPage class is the base class for wizard pages. QWizard represents a wizard. Each page is a QWizardPage. When you create your own wizards, you can use QWizardPage directly, or you can subclass it for more control.

A page has the following attributes, which are rendered by QWizard: a title, a subTitle, and a set of pixmaps. See Elements of a Wizard Page for details. Once a page is added to the wizard (using QWizard::addPage() or QWizard::setPage()), wizard() returns a pointer to the associated QWizard object.

Page provides five virtual functions that can be reimplemented to provide custom behavior:

Normally, the Next button and the Finish button of a wizard are mutually exclusive. If isFinalPage() returns true, Finish is available; otherwise, Next is available. By default, isFinalPage() is true only when nextId() returns -1. If you want to show Next and Final simultaneously for a page (letting the user perform an "early finish"), call setFinalPage(true) on that page. For wizards that support early finishes, you might also want to set the HaveNextButtonOnLastPage and HaveFinishButtonOnEarlyPages options on the wizard.

In many wizards, the contents of a page may affect the default values of the fields of a later page. To make it easy to communicate between pages, QWizard supports a "field" mechanism that allows you to register a field (e.g., a QLineEdit) on a page and to access its value from any page. Fields are global to the entire wizard and make it easy for any single page to access information stored by another page, without having to put all the logic in QWizard or having the pages know explicitly about each other. Fields are registered using registerField() and can be accessed at any time using field() and setField().

See also:
QWizard, Class Wizard Example, and License Wizard Example.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
QWidget.RenderFlag, QWidget.RenderFlags
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
 QSignalEmitter.Signal0 completeChanged
          This signal is emitted whenever the complete state of the page (i.
 
Fields inherited from class com.trolltech.qt.gui.QWidget
customContextMenuRequested
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QWizardPage()
          Constructs a wizard page with the given parent.
QWizardPage(QWidget parent)
          Constructs a wizard page with the given parent.
 
Method Summary
 java.lang.String buttonText(QWizard.WizardButton which)
          Returns the text on button which on this page.
 void cleanupPage()
          This virtual function is called by QWizard::cleanupPage() when the user leaves the page by clicking Back (unless the QWizard::IndependentPages option is set).
protected  java.lang.Object field(java.lang.String name)
          Returns the value of the field called name.
 void initializePage()
          This virtual function is called by QWizard::initializePage() to prepare the page just before it is shown either as a result of QWizard::restart() being called, or as a result of the user clicking Next.
 boolean isCommitPage()
          Returns true if this page is a commit page; otherwise returns false.
 boolean isComplete()
          This virtual function is called by QWizard to determine whether the Next or Finish button should be enabled or disabled.
 boolean isFinalPage()
          This function is called by QWizard to determine whether the Finish button should be shown for this page or not.
 int nextId()
          This virtual function is called by QWizard::nextId() to find out which page to show when the user clicks the Next button.
 QPixmap pixmap(QWizard.WizardPixmap which)
          Returns the pixmap set for role which.
protected  void registerField(java.lang.String name, QWidget widget)
          Creates a field called name associated with the given property of the given widget.
protected  void registerField(java.lang.String name, QWidget widget, java.lang.String property)
          Creates a field called name associated with the given property of the given widget.
protected  void registerField(java.lang.String name, QWidget widget, java.lang.String property, java.lang.String changedSignal)
          Creates a field called name associated with the given property of the given widget.
 void setButtonText(QWizard.WizardButton which, java.lang.String text)
          Sets the text on button which to be text on this page.
 void setCommitPage(boolean commitPage)
          Sets this page to be a commit page if commitPage is true; otherwise, sets it to be a normal page.
protected  void setField(java.lang.String name, java.lang.Object value)
          Sets the value of the field called name to value.
 void setFinalPage(boolean finalPage)
          Explicitly sets this page to be final if finalPage is true.
 void setPixmap(QWizard.WizardPixmap which, QPixmap pixmap)
          Sets the pixmap for role which to pixmap.
 void setSubTitle(java.lang.String subTitle)
          This property holds the subtitle of the page.
 void setTitle(java.lang.String title)
          This property holds the title of the page.
 java.lang.String subTitle()
          This property holds the subtitle of the page.
 java.lang.String title()
          This property holds the title of the page.
 boolean validatePage()
          This virtual function is called by QWizard::validateCurrentPage() when the user clicks Next or Finish to perform some last-minute validation.
protected  QWizard wizard()
          Returns the wizard associated with this page, or 0 if this page hasn't been inserted into a QWizard yet.
 
Methods inherited from class com.trolltech.qt.gui.QWidget
acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, changeEvent, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, cursor, depth, destroy, destroy, destroy, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, ensurePolished, enterEvent, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, graphicsProxyWidget, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isMaximized, isMinimized, isModal, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, keyPressEvent, keyReleaseEvent, languageChange, layout, layoutDirection, leaveEvent, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, overrideWindowState, paintEngine, paintEvent, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeHint, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y
 
Methods inherited from class com.trolltech.qt.core.QObject
childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Field Detail

completeChanged

public final QSignalEmitter.Signal0 completeChanged
This signal is emitted whenever the complete state of the page (i. ., the value of isComplete()) changes.

If you reimplement isComplete(), make sure to emit completeChanged() whenever the value of isComplete() changes, to ensure that QWizard updates the enabled or disabled state of its buttons.

See also:
isComplete().

Constructor Detail

QWizardPage

public QWizardPage()
Constructs a wizard page with the given parent.

When the page is inserted into a wizard using QWizard::addPage() or QWizard::setPage(), the parent is automatically set to be the wizard.

See also:
wizard().


QWizardPage

public QWizardPage(QWidget parent)
Constructs a wizard page with the given parent.

When the page is inserted into a wizard using QWizard::addPage() or QWizard::setPage(), the parent is automatically set to be the wizard.

See also:
wizard().

Method Detail

buttonText

public final java.lang.String buttonText(QWizard.WizardButton which)
Returns the text on button which on this page.

If a text has ben set using setButtonText(), this text is returned. Otherwise, if a text has been set using QWizard::setButtonText(), this text is returned.

By default, the text on buttons depends on the QWizard::wizardStyle. For example, on Mac OS X, the Next button is called Continue.

See also:
setButtonText(), QWizard::buttonText(), and QWizard::setButtonText().


field

protected final java.lang.Object field(java.lang.String name)
Returns the value of the field called name.

This function can be used to access fields on any page of the wizard. It is equivalent to calling wizard()->field(namename).

Example:

The following code example is written in c++.

void OutputFilesPage::initializePage()
{
    QString className = field("className").toString();
    headerLineEdit->setText(className.toLower() + ".h");
    implementationLineEdit->setText(className.toLower() + ".cpp");
    outputDirLineEdit->setText(QDir::convertSeparators(QDir::tempPath()));
}

See also:
QWizard::field(), setField(), and registerField().


isCommitPage

public final boolean isCommitPage()
Returns true if this page is a commit page; otherwise returns false.

See also:
setCommitPage().


isFinalPage

public final boolean isFinalPage()
This function is called by QWizard to determine whether the Finish button should be shown for this page or not.

By default, it returns true if there is no next page (i.e., nextId() returns -1); otherwise, it returns false.

By explicitly calling setFinalPage(true), you can let the user perform an "early finish".

See also:
isComplete(), and QWizard::HaveFinishButtonOnEarlyPages .


pixmap

public final QPixmap pixmap(QWizard.WizardPixmap which)
Returns the pixmap set for role which.

Pixmaps can also be set for the entire wizard using QWizard::setPixmap(), in which case they apply for all pages that don't specify a pixmap.

See also:
setPixmap(), QWizard::pixmap(), and Elements of a Wizard Page.


setButtonText

public final void setButtonText(QWizard.WizardButton which,
                                java.lang.String text)
Sets the text on button which to be text on this page.

By default, the text on buttons depends on the QWizard::wizardStyle, but may be redefined for the wizard as a whole using QWizard::setButtonText().

See also:
buttonText(), QWizard::setButtonText(), and QWizard::buttonText().


setCommitPage

public final void setCommitPage(boolean commitPage)
Sets this page to be a commit page if commitPage is true; otherwise, sets it to be a normal page.

A commit page is a page that represents an action which cannot be undone by clicking Back or Cancel.

A Commit button replaces the Next button on a commit page. Clicking this button simply calls QWizard::next() just like clicking Next does.

A page entered directly from a commit page has its Back button disabled.

See also:
isCommitPage().


setField

protected final void setField(java.lang.String name,
                              java.lang.Object value)
Sets the value of the field called name to value.

This function can be used to set fields on any page of the wizard. It is equivalent to calling wizard()->setField(namename, value).

See also:
QWizard::setField(), field(), and registerField().


setFinalPage

public final void setFinalPage(boolean finalPage)
Explicitly sets this page to be final if finalPage is true.

After calling setFinalPage(true), isFinalPage() returns true and the Finish button is visible (and enabled if isComplete() returns true).

After calling setFinalPage(false), isFinalPage() returns true if nextId() returns -1; otherwise, it returns false.

See also:
isFinalPage(), isComplete(), and QWizard::HaveFinishButtonOnEarlyPages .


setPixmap

public final void setPixmap(QWizard.WizardPixmap which,
                            QPixmap pixmap)
Sets the pixmap for role which to pixmap.

The pixmaps are used by QWizard when displaying a page. Which pixmaps are actually used depend on the wizard style.

Pixmaps can also be set for the entire wizard using QWizard::setPixmap(), in which case they apply for all pages that don't specify a pixmap.

See also:
pixmap(), QWizard::setPixmap(), and Elements of a Wizard Page.


setSubTitle

public final void setSubTitle(java.lang.String subTitle)
This property holds the subtitle of the page. The subtitle is shown by the QWizard, between the title and the actual page. Subtitles are optional. In ClassicStyle and ModernStyle , using subtitles is necessary to make the header appear. In MacStyle , the subtitle is shown as a text label just above the actual page.

The subtitle may be plain text or HTML, depending on the value of the QWizard::subTitleFormat property.

By default, this property contains an empty string.

See also:
title, QWizard::IgnoreSubTitles , and Elements of a Wizard Page.


setTitle

public final void setTitle(java.lang.String title)
This property holds the title of the page. The title is shown by the QWizard, above the actual page. All pages should have a title.

The title may be plain text or HTML, depending on the value of the QWizard::titleFormat property.

By default, this property contains an empty string.

See also:
subTitle, and Elements of a Wizard Page.


subTitle

public final java.lang.String subTitle()
This property holds the subtitle of the page. The subtitle is shown by the QWizard, between the title and the actual page. Subtitles are optional. In ClassicStyle and ModernStyle , using subtitles is necessary to make the header appear. In MacStyle , the subtitle is shown as a text label just above the actual page.

The subtitle may be plain text or HTML, depending on the value of the QWizard::subTitleFormat property.

By default, this property contains an empty string.

See also:
title, QWizard::IgnoreSubTitles , and Elements of a Wizard Page.


title

public final java.lang.String title()
This property holds the title of the page. The title is shown by the QWizard, above the actual page. All pages should have a title.

The title may be plain text or HTML, depending on the value of the QWizard::titleFormat property.

By default, this property contains an empty string.

See also:
subTitle, and Elements of a Wizard Page.


wizard

protected final QWizard wizard()
Returns the wizard associated with this page, or 0 if this page hasn't been inserted into a QWizard yet.

See also:
QWizard::addPage(), and QWizard::setPage().


cleanupPage

public void cleanupPage()
This virtual function is called by QWizard::cleanupPage() when the user leaves the page by clicking Back (unless the QWizard::IndependentPages option is set).

The default implementation resets the page's fields to their original values (the values they had before initializePage() was called).

See also:
QWizard::cleanupPage(), initializePage(), and QWizard::IndependentPages .


initializePage

public void initializePage()
This virtual function is called by QWizard::initializePage() to prepare the page just before it is shown either as a result of QWizard::restart() being called, or as a result of the user clicking Next. (However, if the QWizard::IndependentPages option is set, this function is only called the first time the page is shown.)

By reimplementing this function, you can ensure that the page's fields are properly initialized based on fields from previous pages. For example:

The following code example is written in c++.

void OutputFilesPage::initializePage()
{
    QString className = field("className").toString();
    headerLineEdit->setText(className.toLower() + ".h");
    implementationLineEdit->setText(className.toLower() + ".cpp");
    outputDirLineEdit->setText(QDir::convertSeparators(QDir::tempPath()));
}
The default implementation does nothing.

See also:
QWizard::initializePage(), cleanupPage(), and QWizard::IndependentPages .


isComplete

public boolean isComplete()
This virtual function is called by QWizard to determine whether the Next or Finish button should be enabled or disabled.

The default implementation returns true if all mandatory fields are filled; otherwise, it returns false.

If you reimplement this function, make sure to emit completeChanged() , from the rest of your implementation, whenever the value of isComplete() changes. This ensures that QWizard updates the enabled or disabled state of its buttons. An example of the reimplementation is available here.

See also:
completeChanged() , and isFinalPage().


nextId

public int nextId()
This virtual function is called by QWizard::nextId() to find out which page to show when the user clicks the Next button.

The return value is the ID of the next page, or -1 if no page follows.

By default, this function returns the lowest ID greater than the ID of the current page, or -1 if there is no such ID.

By reimplementing this function, you can specify a dynamic page order. For example:

The following code example is written in c++.

int IntroPage::nextId() const

{
    if (evaluateRadioButton->isChecked()) {
        return LicenseWizard::Page_Evaluate;
    } else {
        return LicenseWizard::Page_Register;
    }
}

See also:
QWizard::nextId().


validatePage

public boolean validatePage()
This virtual function is called by QWizard::validateCurrentPage() when the user clicks Next or Finish to perform some last-minute validation. If it returns true, the next page is shown (or the wizard finishes); otherwise, the current page stays up.

The default implementation returns true.

When possible, it is usually better style to disable the Next or Finish button (by specifying mandatory fields or reimplementing isComplete()) than to reimplement validatePage().

See also:
QWizard::validateCurrentPage(), and isComplete().


registerField

protected final void registerField(java.lang.String name,
                                   QWidget widget)
Creates a field called name associated with the given property of the given widget. From then on, that property becomes accessible using field() and setField().

Fields are global to the entire wizard and make it easy for any single page to access information stored by another page, without having to put all the logic in QWizard or having the pages know explicitly about each other.

If name ends with an asterisk (*), the field is a mandatory field. When a page has mandatory fields, the Next and/or Finish buttons are enabled only when all mandatory fields are filled. This requires a changedSignal to be specified, to tell QWizard to recheck the value stored by the mandatory field.

QWizard knows the most common Qt widgets. For these (or their subclasses), you don't need to specify a property or a changedSignal. The table below lists these widgets:

Widget
Property
Change Notification Signal
QAbstractButton bool checked QAbstractButton.toggled
QAbstractSlider int value QAbstractSlider.valueChanged
QComboBox int QComboBox.currentIndex() QComboBox.currentIndexChanged
QDateTimeEdit QDateTimeQDateTimeEdit.dateTime() QDateTimeEdit.dateTimeChanged
QLineEdit QStringtext QLineEdit.textChanged
QListWidget int QListWidget.currentRow() QListWidget.currentRowChanged
QSpinBox int value QSpinBox.valueChanged
You can use QWizard::setDefaultProperty() to add entries to this table or to override existing entries.

To consider a field "filled", QWizard simply checks that their current value doesn't equal their original value (the value they had before initializePage() was called). For QLineEdit, it also checks that QLineEdit.hasAcceptableInput() returns true, to honor any validator or mask.

QWizard's mandatory field mechanism is provided for convenience. It can be bypassed by reimplementing QWizardPage::isComplete().

See also:
field(), setField(), and QWizard::setDefaultProperty().


registerField

protected final void registerField(java.lang.String name,
                                   QWidget widget,
                                   java.lang.String property)
Creates a field called name associated with the given property of the given widget. From then on, that property becomes accessible using field() and setField().

Fields are global to the entire wizard and make it easy for any single page to access information stored by another page, without having to put all the logic in QWizard or having the pages know explicitly about each other.

If name ends with an asterisk (*), the field is a mandatory field. When a page has mandatory fields, the Next and/or Finish buttons are enabled only when all mandatory fields are filled. This requires a changedSignal to be specified, to tell QWizard to recheck the value stored by the mandatory field.

QWizard knows the most common Qt widgets. For these (or their subclasses), you don't need to specify a property or a changedSignal. The table below lists these widgets:

Widget
Property
Change Notification Signal
QAbstractButton bool checked QAbstractButton.toggled
QAbstractSlider int value QAbstractSlider.valueChanged
QComboBox int QComboBox.currentIndex() QComboBox.currentIndexChanged
QDateTimeEdit QDateTimeQDateTimeEdit.dateTime() QDateTimeEdit.dateTimeChanged
QLineEdit QStringtext QLineEdit.textChanged
QListWidget int QListWidget.currentRow() QListWidget.currentRowChanged
QSpinBox int value QSpinBox.valueChanged
You can use QWizard::setDefaultProperty() to add entries to this table or to override existing entries.

To consider a field "filled", QWizard simply checks that their current value doesn't equal their original value (the value they had before initializePage() was called). For QLineEdit, it also checks that QLineEdit.hasAcceptableInput() returns true, to honor any validator or mask.

QWizard's mandatory field mechanism is provided for convenience. It can be bypassed by reimplementing QWizardPage::isComplete().

See also:
field(), setField(), and QWizard::setDefaultProperty().


registerField

protected final void registerField(java.lang.String name,
                                   QWidget widget,
                                   java.lang.String property,
                                   java.lang.String changedSignal)
Creates a field called name associated with the given property of the given widget. From then on, that property becomes accessible using field() and setField(). Fields are global to the entire wizard and make it easy for any single page to access information stored by another page, without having to put all the logic in QWizard or having the pages know explicitly about each other. If name ends with an asterisk (*), the field is a mandatory field. When a page has mandatory fields, the Next and/or Finish buttons are enabled only when all mandatory fields are filled. This requires a changedSignal to be specified, to tell QWizard to recheck the value stored by the mandatory field. QWizard knows the most common Qt widgets. For these (or their subclasses), you don't need to specify a property or a changedSignal. The table below lists these widgets: QAbstractButton (for which the relevant property is the checked property), QAbstractSlider (the value property), QComboBox (currentIndex property), QDateTimeEdit(dateTime property), QLineEdit(text property), QListWidget(currentRow property), or QSpinBox(value property).

Parameters:
name - The name which will be used to access the field. Names ending with an asterisk signify mandatory fields.
widget - The widget whose property will be accessed using this field.
property - The name of the property associated with the field.
changedSignal - The name of a signal which is emitted when the associated property's value changes.
See Also:
QWizardPage.field(java.lang.String), QWizardPage.setField(java.lang.String, java.lang.Object)