Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.gui
Class QWizardPage

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.core.QObject
                      com.trolltech.qt.gui.QWidget
                          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:

- `initializePage()` is called to initialize the page's contents when the user clicks the wizard's Next button. If you want to derive the page's default from what the user entered on previous pages, this is the function to reimplement.
- `cleanupPage()` is called to reset the page's contents when the user clicks the wizard's Back button.
- `validatePage()` validates the page when the user clicks Next or Finish. It is often used to show an error message if the user has entered incomplete or invalid information.
- `nextId()` returns the ID of the next page. It is useful when `creating non-linear wizards`, which allow different traversal paths based on the information provided by the user.
- `isComplete()` is called to determine whether the Next and/or Finish button should be enabled or disabled. If you reimplement `isComplete()`, also make sure that `completeChanged()` is emitted whenever the complete state changes.

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.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 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, 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, 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(name` `name`).

  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(name` `name`, `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.

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.

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.

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.

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 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.

  By default, this function returns the page with the following ID in the `QWizard`, or -1 if there is no such page.

  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` | `QDateTime` `QDateTimeEdit.dateTime()` | `QDateTimeEdit.dateTimeChanged`
  `QLineEdit` | QString`text` | `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` | `QDateTime` `QDateTimeEdit.dateTime()` | `QDateTimeEdit.dateTimeChanged`
  `QLineEdit` | QString`text` | `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)`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD