Qt 4.8
Public Types | Public Slots | Signals | Public Functions | Protected Functions | Properties | Friends | List of all members
QWizard Class Reference

The QWizard class provides a framework for wizards. More...

#include <qwizard.h>

Inheritance diagram for QWizard:
QDialog QWidget QObject QPaintDevice

Public Types

enum  WizardButton {
  BackButton, NextButton, CommitButton, FinishButton,
  CancelButton, HelpButton, CustomButton1, CustomButton2,
  CustomButton3, Stretch, NoButton = -1, NStandardButtons = 6,
  NButtons = 9
}
 This enum specifies the buttons in a wizard. More...
 
enum  WizardOption {
  IndependentPages = 0x00000001, IgnoreSubTitles = 0x00000002, ExtendedWatermarkPixmap = 0x00000004, NoDefaultButton = 0x00000008,
  NoBackButtonOnStartPage = 0x00000010, NoBackButtonOnLastPage = 0x00000020, DisabledBackButtonOnLastPage = 0x00000040, HaveNextButtonOnLastPage = 0x00000080,
  HaveFinishButtonOnEarlyPages = 0x00000100, NoCancelButton = 0x00000200, CancelButtonOnLeft = 0x00000400, HaveHelpButton = 0x00000800,
  HelpButtonOnRight = 0x00001000, HaveCustomButton1 = 0x00002000, HaveCustomButton2 = 0x00004000, HaveCustomButton3 = 0x00008000
}
 This enum specifies various options that affect the look and feel of a wizard. More...
 
enum  WizardPixmap {
  WatermarkPixmap, LogoPixmap, BannerPixmap, BackgroundPixmap,
  NPixmaps
}
 This enum specifies the pixmaps that can be associated with a page. More...
 
enum  WizardStyle {
  ClassicStyle, ModernStyle, MacStyle, AeroStyle,
  NStyles
}
 This enum specifies the different looks supported by QWizard. More...
 
- Public Types inherited from QDialog
enum  DialogCode { Rejected, Accepted }
 The value returned by a modal dialog. More...
 
- Public Types inherited from QWidget
enum  RenderFlag { DrawWindowBackground = 0x1, DrawChildren = 0x2, IgnoreMask = 0x4 }
 This enum describes how to render the widget when calling QWidget::render(). More...
 
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric {
  PdmWidth = 1, PdmHeight, PdmWidthMM, PdmHeightMM,
  PdmNumColors, PdmDepth, PdmDpiX, PdmDpiY,
  PdmPhysicalDpiX, PdmPhysicalDpiY
}
 

Public Slots

void back ()
 Goes back to the previous page. More...
 
void next ()
 Advances to the next page. More...
 
void restart ()
 Restarts the wizard at the start page. More...
 
- Public Slots inherited from QDialog
virtual void accept ()
 Hides the modal dialog and sets the result code to Accepted. More...
 
int exec ()
 Shows the dialog as a modal dialog, blocking until the user closes it. More...
 
void open ()
 Shows the dialog as a window modal dialog, returning immediately. More...
 
virtual void reject ()
 Hides the modal dialog and sets the result code to Rejected. More...
 
void showExtension (bool)
 If showIt is true, the dialog's extension is shown; otherwise the extension is hidden. More...
 
- Public Slots inherited from QWidget
bool close ()
 Closes this widget. More...
 
void hide ()
 Hides the widget. More...
 
void lower ()
 Lowers the widget to the bottom of the parent widget's stack. More...
 
void raise ()
 Raises this widget to the top of the parent widget's stack. More...
 
void repaint ()
 Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the widget is hidden. More...
 
void setDisabled (bool)
 Disables widget input events if disable is true; otherwise enables input events. More...
 
void setEnabled (bool)
 
void setFocus ()
 Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the active window. More...
 
void setHidden (bool hidden)
 Convenience function, equivalent to setVisible(!hidden). More...
 
QT_MOC_COMPAT void setShown (bool shown)
 Use setVisible(shown) instead. More...
 
void setStyleSheet (const QString &styleSheet)
 
void setWindowModified (bool)
 
void setWindowTitle (const QString &)
 
void show ()
 Shows the widget and its child widgets. More...
 
void showFullScreen ()
 Shows the widget in full-screen mode. More...
 
void showMaximized ()
 Shows the widget maximized. More...
 
void showMinimized ()
 Shows the widget minimized, as an icon. More...
 
void showNormal ()
 Restores the widget after it has been maximized or minimized. More...
 
void update ()
 Updates the widget unless updates are disabled or the widget is hidden. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 

Signals

void currentIdChanged (int id)
 This signal is emitted when the current page changes, with the new current id. More...
 
void customButtonClicked (int which)
 This signal is emitted when the user clicks a custom button. More...
 
void helpRequested ()
 This signal is emitted when the user clicks the Help button. More...
 
void pageAdded (int id)
 This signal is emitted whenever a page is added to the wizard. More...
 
void pageRemoved (int id)
 This signal is emitted whenever a page is removed from the wizard. More...
 
- Signals inherited from QDialog
void accepted ()
 This signal is emitted when the dialog has been accepted either by the user or by calling accept() or done() with the QDialog::Accepted argument. More...
 
void finished (int result)
 This signal is emitted when the dialog's result code has been set, either by the user or by calling done(), accept(), or reject(). More...
 
void rejected ()
 This signal is emitted when the dialog has been rejected either by the user or by calling reject() or done() with the QDialog::Rejected argument. More...
 
- Signals inherited from QWidget
void customContextMenuRequested (const QPoint &pos)
 This signal is emitted when the widget's contextMenuPolicy is Qt::CustomContextMenu, and the user has requested a context menu on the widget. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Public Functions

int addPage (QWizardPage *page)
 Adds the given page to the wizard, and returns the page's ID. More...
 
QAbstractButtonbutton (WizardButton which) const
 Returns the button corresponding to role which. More...
 
QString buttonText (WizardButton which) const
 Returns the text on button which. More...
 
int currentId () const
 
QWizardPagecurrentPage () const
 Returns a pointer to the current page, or 0 if there is no current page (e.g., before the wizard is shown). More...
 
QVariant field (const QString &name) const
 Returns the value of the field called name. More...
 
bool hasVisitedPage (int id) const
 Returns true if the page history contains page id; otherwise, returns false. More...
 
virtual int nextId () const
 This virtual function is called by QWizard to find out which page to show when the user clicks the Next button. More...
 
WizardOptions options () const
 
QWizardPagepage (int id) const
 Returns the page with the given id, or 0 if there is no such page. More...
 
QList< int > pageIds () const
 Returns the list of page IDs. More...
 
QPixmap pixmap (WizardPixmap which) const
 Returns the pixmap set for role which. More...
 
 QWizard (QWidget *parent=0, Qt::WindowFlags flags=0)
 Constructs a wizard with the given parent and window flags. More...
 
void removePage (int id)
 Removes the page with the given id. More...
 
void setButton (WizardButton which, QAbstractButton *button)
 Sets the button corresponding to role which to button. More...
 
void setButtonLayout (const QList< WizardButton > &layout)
 Sets the order in which buttons are displayed to layout, where layout is a list of WizardButton. More...
 
void setButtonText (WizardButton which, const QString &text)
 Sets the text on button which to be text. More...
 
void setDefaultProperty (const char *className, const char *property, const char *changedSignal)
 Sets the default property for className to be property, and the associated change signal to be changedSignal. More...
 
void setField (const QString &name, const QVariant &value)
 Sets the value of the field called name to value. More...
 
void setOption (WizardOption option, bool on=true)
 Sets the given option to be enabled if on is true; otherwise, clears the given option. More...
 
void setOptions (WizardOptions options)
 
void setPage (int id, QWizardPage *page)
 Adds the given page to the wizard with the given id. More...
 
void setPixmap (WizardPixmap which, const QPixmap &pixmap)
 Sets the pixmap for role which to pixmap. More...
 
void setSideWidget (QWidget *widget)
 Sets the given widget to be shown on the left side of the wizard. More...
 
void setStartId (int id)
 
void setSubTitleFormat (Qt::TextFormat format)
 
void setTitleFormat (Qt::TextFormat format)
 
void setVisible (bool visible)
 Reimplemented Function More...
 
void setWizardStyle (WizardStyle style)
 
QWidgetsideWidget () const
 Returns the widget on the left side of the wizard or 0. More...
 
QSize sizeHint () const
 Reimplemented Function More...
 
int startId () const
 
Qt::TextFormat subTitleFormat () const
 
bool testOption (WizardOption option) const
 Returns true if the given option is enabled; otherwise, returns false. More...
 
Qt::TextFormat titleFormat () const
 
virtual bool validateCurrentPage ()
 This virtual function is called by QWizard when the user clicks Next or Finish to perform some last-minute validation. More...
 
QList< int > visitedPages () const
 Returns the list of IDs of visited pages, in the order in which the pages were visited. More...
 
WizardStyle wizardStyle () const
 
 ~QWizard ()
 Destroys the wizard and its pages, releasing any allocated resources. More...
 
- Public Functions inherited from QDialog
QWidgetextension () const
 Returns the dialog's extension or 0 if no extension has been defined. More...
 
bool isSizeGripEnabled () const
 
QSize minimumSizeHint () const
 Reimplemented Function More...
 
Qt::Orientation orientation () const
 Returns the dialog's extension orientation. More...
 
 QDialog (QWidget *parent=0, Qt::WindowFlags f=0)
 Constructs a dialog with parent parent. More...
 
int result () const
 In general returns the modal dialog's result code, Accepted or Rejected. More...
 
void setExtension (QWidget *extension)
 Sets the widget, extension, to be the dialog's extension, deleting any previous extension. More...
 
void setModal (bool modal)
 
void setOrientation (Qt::Orientation orientation)
 If orientation is Qt::Horizontal, the extension will be displayed to the right of the dialog's main area. More...
 
void setResult (int r)
 Sets the modal dialog's result code to i. More...
 
void setSizeGripEnabled (bool)
 
 ~QDialog ()
 Destroys the QDialog, deleting all its children. More...
 
- Public Functions inherited from QWidget
bool acceptDrops () const
 
QString accessibleDescription () const
 
QString accessibleName () const
 
QList< QAction * > actions () const
 Returns the (possibly empty) list of this widget's actions. More...
 
void activateWindow ()
 Sets the top-level widget containing this widget to be the active window. More...
 
void addAction (QAction *action)
 Appends the action action to this widget's list of actions. More...
 
void addActions (QList< QAction *> actions)
 Appends the actions actions to this widget's list of actions. More...
 
void adjustSize ()
 Adjusts the size of the widget to fit its contents. More...
 
bool autoFillBackground () const
 
QPalette::ColorRole backgroundRole () const
 Returns the background role of the widget. More...
 
QSize baseSize () const
 
QWidgetchildAt (int x, int y) const
 Returns the visible child widget at the position ({x}, {y}) in the widget's coordinate system. More...
 
QWidgetchildAt (const QPoint &p) const
 Returns the visible child widget at point p in the widget's own coordinate system. More...
 
QRect childrenRect () const
 
QRegion childrenRegion () const
 
void clearFocus ()
 Takes keyboard input focus from the widget. More...
 
void clearMask ()
 Removes any mask set by setMask(). More...
 
QMargins contentsMargins () const
 The contentsMargins function returns the widget's contents margins. More...
 
QRect contentsRect () const
 Returns the area inside the widget's margins. More...
 
Qt::ContextMenuPolicy contextMenuPolicy () const
 
void createWinId ()
 
QCursor cursor () const
 
int devType () const
 
WId effectiveWinId () const
 Returns the effective window system identifier of the widget, i. More...
 
void ensurePolished () const
 Ensures that the widget has been polished by QStyle (i.e., has a proper font and palette). More...
 
Qt::FocusPolicy focusPolicy () const
 
QWidgetfocusProxy () const
 Returns the focus proxy, or 0 if there is no focus proxy. More...
 
QWidgetfocusWidget () const
 Returns the last child of this widget that setFocus had been called on. More...
 
const QFontfont () const
 
QFontInfo fontInfo () const
 Returns the font info for the widget's current font. More...
 
QFontMetrics fontMetrics () const
 Returns the font metrics for the widget's current font. More...
 
QPalette::ColorRole foregroundRole () const
 Returns the foreground role. More...
 
QRect frameGeometry () const
 
QSize frameSize () const
 
const QRectgeometry () const
 
void getContentsMargins (int *left, int *top, int *right, int *bottom) const
 Returns the widget's contents margins for left, top, right, and bottom. More...
 
HDC getDC () const
 Returns the window system handle of the widget, for low-level access. More...
 
void grabGesture (Qt::GestureType type, Qt::GestureFlags flags=Qt::GestureFlags())
 Subscribes the widget to a given gesture with specific flags. More...
 
void grabKeyboard ()
 Grabs the keyboard input. More...
 
void grabMouse ()
 Grabs the mouse input. More...
 
void grabMouse (const QCursor &)
 
int grabShortcut (const QKeySequence &key, Qt::ShortcutContext context=Qt::WindowShortcut)
 Adds a shortcut to Qt's shortcut system that watches for the given key sequence in the given context. More...
 
QGraphicsEffectgraphicsEffect () const
 The graphicsEffect function returns a pointer to the widget's graphics effect. More...
 
QGraphicsProxyWidgetgraphicsProxyWidget () const
 Returns the proxy widget for the corresponding embedded widget in a graphics view; otherwise returns 0. More...
 
bool hasFocus () const
 
bool hasMouseTracking () const
 
int height () const
 
virtual int heightForWidth (int) const
 Returns the preferred height for this widget, given the width w. More...
 
QInputContextinputContext ()
 This function returns the QInputContext for this widget. More...
 
Qt::InputMethodHints inputMethodHints () const
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery) const
 This method is only relevant for input widgets. More...
 
void insertAction (QAction *before, QAction *action)
 Inserts the action action to this widget's list of actions, before the action before. More...
 
void insertActions (QAction *before, QList< QAction *> actions)
 Inserts the actions actions to this widget's list of actions, before the action before. More...
 
WId internalWinId () const
 Returns the window system identifier of the widget, or 0 if the widget is not created yet. More...
 
bool isActiveWindow () const
 
bool isAncestorOf (const QWidget *child) const
 Returns true if this widget is a parent, (or grandparent and so on to any level), of the given child, and both widgets are within the same window; otherwise returns false. More...
 
bool isEnabled () const
 
bool isEnabledTo (QWidget *) const
 Returns true if this widget would become enabled if ancestor is enabled; otherwise returns false. More...
 
bool isEnabledToTLW () const
 This function is deprecated. More...
 
bool isFullScreen () const
 
bool isHidden () const
 Returns true if the widget is hidden, otherwise returns false. More...
 
bool isLeftToRight () const
 
bool isMaximized () const
 
bool isMinimized () const
 
bool isModal () const
 
bool isRightToLeft () const
 
bool isTopLevel () const
 Use isWindow() instead. More...
 
bool isVisible () const
 
bool isVisibleTo (QWidget *) const
 Returns true if this widget would become visible if ancestor is shown; otherwise returns false. More...
 
bool isWindow () const
 Returns true if the widget is an independent window, otherwise returns false. More...
 
bool isWindowModified () const
 
QLayoutlayout () const
 Returns the layout manager that is installed on this widget, or 0 if no layout manager is installed. More...
 
Qt::LayoutDirection layoutDirection () const
 
QLocale locale () const
 
Qt::HANDLE macCGHandle () const
 Returns the CoreGraphics handle of the widget. More...
 
Qt::HANDLE macQDHandle () const
 Returns the QuickDraw handle of the widget. More...
 
QPoint mapFrom (QWidget *, const QPoint &) const
 Translates the widget coordinate pos from the coordinate system of parent to this widget's coordinate system. More...
 
QPoint mapFromGlobal (const QPoint &) const
 Translates the global screen coordinate pos to widget coordinates. More...
 
QPoint mapFromParent (const QPoint &) const
 Translates the parent widget coordinate pos to widget coordinates. More...
 
QPoint mapTo (QWidget *, const QPoint &) const
 Translates the widget coordinate pos to the coordinate system of parent. More...
 
QPoint mapToGlobal (const QPoint &) const
 Translates the widget coordinate pos to global screen coordinates. More...
 
QPoint mapToParent (const QPoint &) const
 Translates the widget coordinate pos to a coordinate in the parent widget. More...
 
QRegion mask () const
 Returns the mask currently set on a widget. More...
 
int maximumHeight () const
 
QSize maximumSize () const
 
int maximumWidth () const
 
int minimumHeight () const
 
QSize minimumSize () const
 
int minimumWidth () const
 
void move (int x, int y)
 This corresponds to move(QPoint(x, y)). More...
 
void move (const QPoint &)
 
QWidgetnativeParentWidget () const
 Returns the native parent for this widget, i. More...
 
QWidgetnextInFocusChain () const
 Returns the next widget in this widget's focus chain. More...
 
QRect normalGeometry () const
 
void overrideWindowFlags (Qt::WindowFlags type)
 Sets the window flags for the widget to flags, without telling the window system. More...
 
void overrideWindowState (Qt::WindowStates state)
 
QPaintEnginepaintEngine () const
 Returns the widget's paint engine. More...
 
const QPalettepalette () const
 
QWidgetparentWidget () const
 Returns the parent of this widget, or 0 if it does not have any parent widget. More...
 
QPoint pos () const
 
QWidgetpreviousInFocusChain () const
 The previousInFocusChain function returns the previous widget in this widget's focus chain. More...
 
 QWidget (QWidget *parent=0, Qt::WindowFlags f=0)
 Constructs a widget which is a child of parent, with widget flags set to f. More...
 
QRect rect () const
 
void releaseDC (HDC) const
 Releases the HDC hdc acquired by a previous call to getDC(). More...
 
void releaseKeyboard ()
 Releases the keyboard grab. More...
 
void releaseMouse ()
 Releases the mouse grab. More...
 
void releaseShortcut (int id)
 Removes the shortcut with the given id from Qt's shortcut system. More...
 
void removeAction (QAction *action)
 Removes the action action from this widget's list of actions. More...
 
void render (QPaintDevice *target, const QPoint &targetOffset=QPoint(), const QRegion &sourceRegion=QRegion(), RenderFlags renderFlags=RenderFlags(DrawWindowBackground|DrawChildren))
 Renders the sourceRegion of this widget into the target using renderFlags to determine how to render. More...
 
void render (QPainter *painter, const QPoint &targetOffset=QPoint(), const QRegion &sourceRegion=QRegion(), RenderFlags renderFlags=RenderFlags(DrawWindowBackground|DrawChildren))
 Renders the widget into the painter's QPainter::device(). More...
 
void repaint (int x, int y, int w, int h)
 This version repaints a rectangle (x, y, w, h) inside the widget. More...
 
void repaint (const QRect &)
 This version repaints a rectangle rect inside the widget. More...
 
void repaint (const QRegion &)
 This version repaints a region rgn inside the widget. More...
 
void resize (int w, int h)
 This corresponds to resize(QSize(w, h)). More...
 
void resize (const QSize &)
 
bool restoreGeometry (const QByteArray &geometry)
 Restores the geometry and state top-level widgets stored in the byte array geometry. More...
 
QByteArray saveGeometry () const
 Saves the current geometry and state for top-level widgets. More...
 
void scroll (int dx, int dy)
 Scrolls the widget including its children dx pixels to the right and dy downward. More...
 
void scroll (int dx, int dy, const QRect &)
 This version only scrolls r and does not move the children of the widget. More...
 
void setAcceptDrops (bool on)
 
void setAccessibleDescription (const QString &description)
 
void setAccessibleName (const QString &name)
 
void setAttribute (Qt::WidgetAttribute, bool on=true)
 Sets the attribute attribute on this widget if on is true; otherwise clears the attribute. More...
 
void setAutoFillBackground (bool enabled)
 
void setBackgroundRole (QPalette::ColorRole)
 Sets the background role of the widget to role. More...
 
void setBaseSize (const QSize &)
 
void setBaseSize (int basew, int baseh)
 This corresponds to setBaseSize(QSize(basew, baseh)). More...
 
void setContentsMargins (int left, int top, int right, int bottom)
 Sets the margins around the contents of the widget to have the sizes left, top, right, and bottom. More...
 
void setContentsMargins (const QMargins &margins)
 The setContentsMargins function sets the margins around the widget's contents. More...
 
void setContextMenuPolicy (Qt::ContextMenuPolicy policy)
 
void setCursor (const QCursor &)
 
void setFixedHeight (int h)
 Sets both the minimum and maximum heights of the widget to h without changing the widths. More...
 
void setFixedSize (const QSize &)
 Sets both the minimum and maximum sizes of the widget to s, thereby preventing it from ever growing or shrinking. More...
 
void setFixedSize (int w, int h)
 Sets the width of the widget to w and the height to h. More...
 
void setFixedWidth (int w)
 Sets both the minimum and maximum width of the widget to w without changing the heights. More...
 
void setFocus (Qt::FocusReason reason)
 Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the active window. More...
 
void setFocusPolicy (Qt::FocusPolicy policy)
 
void setFocusProxy (QWidget *)
 Sets the widget's focus proxy to widget w. More...
 
void setFont (const QFont &)
 Use the single-argument overload instead. More...
 
void setForegroundRole (QPalette::ColorRole)
 Sets the foreground role of the widget to role. More...
 
void setGeometry (int x, int y, int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This corresponds to setGeometry(QRect(x, y, w, h)). More...
 
void setGeometry (const QRect &)
 
void setGraphicsEffect (QGraphicsEffect *effect)
 The setGraphicsEffect function is for setting the widget's graphics effect. More...
 
void setInputContext (QInputContext *)
 This function sets the input context context on this widget. More...
 
void setInputMethodHints (Qt::InputMethodHints hints)
 
void setLayout (QLayout *)
 Sets the layout manager for this widget to layout. More...
 
void setLayoutDirection (Qt::LayoutDirection direction)
 
void setLocale (const QLocale &locale)
 
void setMask (const QBitmap &)
 Causes only the pixels of the widget for which bitmap has a corresponding 1 bit to be visible. More...
 
void setMask (const QRegion &)
 Causes only the parts of the widget which overlap region to be visible. More...
 
void setMaximumHeight (int maxh)
 
void setMaximumSize (const QSize &)
 
void setMaximumSize (int maxw, int maxh)
 This function corresponds to setMaximumSize(QSize(maxw, maxh)). More...
 
void setMaximumWidth (int maxw)
 
void setMinimumHeight (int minh)
 
void setMinimumSize (const QSize &)
 
void setMinimumSize (int minw, int minh)
 This function corresponds to setMinimumSize(QSize(minw, minh)). More...
 
void setMinimumWidth (int minw)
 
void setMouseTracking (bool enable)
 
void setPalette (const QPalette &)
 Use the single-argument overload instead. More...
 
void setParent (QWidget *parent)
 Sets the parent of the widget to parent, and resets the window flags. More...
 
void setParent (QWidget *parent, Qt::WindowFlags f)
 This function also takes widget flags, f as an argument. More...
 
void setShortcutAutoRepeat (int id, bool enable=true)
 If enable is true, auto repeat of the shortcut with the given id is enabled; otherwise it is disabled. More...
 
void setShortcutEnabled (int id, bool enable=true)
 If enable is true, the shortcut with the given id is enabled; otherwise the shortcut is disabled. More...
 
void setSizeIncrement (const QSize &)
 
void setSizeIncrement (int w, int h)
 Sets the x (width) size increment to w and the y (height) size increment to h. More...
 
void setSizePolicy (QSizePolicy)
 
void setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
 Sets the size policy of the widget to horizontal and vertical, with standard stretch and no height-for-width. More...
 
void setStatusTip (const QString &)
 
void setStyle (QStyle *)
 Sets the widget's GUI style to style. More...
 
void setToolTip (const QString &)
 
void setUpdatesEnabled (bool enable)
 
void setupUi (QWidget *widget)
 Sets up the user interface for the specified widget. More...
 
void setWhatsThis (const QString &)
 
void setWindowFilePath (const QString &filePath)
 
void setWindowFlags (Qt::WindowFlags type)
 
void setWindowIcon (const QIcon &icon)
 
void setWindowIconText (const QString &)
 
void setWindowModality (Qt::WindowModality windowModality)
 
void setWindowOpacity (qreal level)
 
void setWindowRole (const QString &)
 Sets the window's role to role. More...
 
void setWindowState (Qt::WindowStates state)
 Sets the window state to windowState. More...
 
void setWindowSurface (QWindowSurface *surface)
 Sets the window surface to be the surface specified. More...
 
QSize size () const
 
QSize sizeIncrement () const
 
QSizePolicy sizePolicy () const
 
void stackUnder (QWidget *)
 Places the widget under w in the parent widget's stack. More...
 
QString statusTip () const
 
QStylestyle () const
 
QString styleSheet () const
 
bool testAttribute (Qt::WidgetAttribute) const
 Returns true if attribute attribute is set on this widget; otherwise returns false. More...
 
QString toolTip () const
 
QWidgettopLevelWidget () const
 
bool underMouse () const
 Returns true if the widget is under the mouse cursor; otherwise returns false. More...
 
void ungrabGesture (Qt::GestureType type)
 Unsubscribes the widget from a given gesture type. More...
 
void unsetCursor ()
 
void unsetLayoutDirection ()
 
void unsetLocale ()
 
void update (int x, int y, int w, int h)
 This version updates a rectangle (x, y, w, h) inside the widget. More...
 
void update (const QRect &)
 This version updates a rectangle rect inside the widget. More...
 
void update (const QRegion &)
 This version repaints a region rgn inside the widget. More...
 
void updateGeometry ()
 Notifies the layout system that this widget has changed and may need to change geometry. More...
 
bool updatesEnabled () const
 
QRegion visibleRegion () const
 Returns the unobscured region where paint events can occur. More...
 
QString whatsThis () const
 
int width () const
 
QWidgetwindow () const
 Returns the window for this widget, i.e. More...
 
QString windowFilePath () const
 
Qt::WindowFlags windowFlags () const
 Window flags are a combination of a type (e. More...
 
QIcon windowIcon () const
 
QString windowIconText () const
 
Qt::WindowModality windowModality () const
 
qreal windowOpacity () const
 
QString windowRole () const
 Returns the window's role, or an empty string. More...
 
Qt::WindowStates windowState () const
 Returns the current window state. More...
 
QWindowSurfacewindowSurface () const
 Returns the QWindowSurface this widget will be drawn into. More...
 
QString windowTitle () const
 
Qt::WindowType windowType () const
 Returns the window type of this widget. More...
 
WId winId () const
 Returns the window system identifier of the widget. More...
 
int x () const
 
const QX11Infox11Info () const
 Returns information about the configuration of the X display used to display the widget. More...
 
Qt::HANDLE x11PictureHandle () const
 Returns the X11 Picture handle of the widget for XRender support. More...
 
int y () const
 
 ~QWidget ()
 Destroys the widget. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 
- Public Functions inherited from QPaintDevice
int colorCount () const
 
int depth () const
 
int height () const
 
int heightMM () const
 
int logicalDpiX () const
 
int logicalDpiY () const
 
QT_DEPRECATED int numColors () const
 
bool paintingActive () const
 
int physicalDpiX () const
 
int physicalDpiY () const
 
int width () const
 
int widthMM () const
 
virtual ~QPaintDevice ()
 

Protected Functions

virtual void cleanupPage (int id)
 This virtual function is called by QWizard to clean up page id just before the user leaves it by clicking Back (unless the QWizard::IndependentPages option is set). More...
 
void done (int result)
 Reimplemented Function More...
 
bool event (QEvent *event)
 Reimplemented Function More...
 
virtual void initializePage (int id)
 This virtual function is called by QWizard to prepare page id just before it is shown either as a result of QWizard::restart() being called, or as a result of the user clicking Next. More...
 
void paintEvent (QPaintEvent *event)
 Reimplemented Function More...
 
void resizeEvent (QResizeEvent *event)
 Reimplemented Function More...
 
bool winEvent (MSG *message, long *result)
 Reimplemented Function More...
 
- Protected Functions inherited from QDialog
void adjustPosition (QWidget *)
 
void closeEvent (QCloseEvent *)
 Reimplemented Function More...
 
void contextMenuEvent (QContextMenuEvent *)
 Reimplemented Function More...
 
bool eventFilter (QObject *, QEvent *)
 Reimplemented Function More...
 
void keyPressEvent (QKeyEvent *)
 Reimplemented Function More...
 
 QDialog (QDialogPrivate &, QWidget *parent, Qt::WindowFlags f=0)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void showEvent (QShowEvent *)
 This event handler can be reimplemented in a subclass to receive widget show events which are passed in the event parameter. More...
 
- Protected Functions inherited from QWidget
virtual void actionEvent (QActionEvent *)
 This event handler is called with the given event whenever the widget's actions are changed. More...
 
virtual void changeEvent (QEvent *)
 This event handler can be reimplemented to handle state changes. More...
 
void create (WId=0, bool initializeWindow=true, bool destroyOldWindow=true)
 Creates a new widget window if window is 0, otherwise sets the widget's window to window. More...
 
void destroy (bool destroyWindow=true, bool destroySubWindows=true)
 Frees up window system resources. More...
 
virtual void dragEnterEvent (QDragEnterEvent *)
 This event handler is called when a drag is in progress and the mouse enters this widget. More...
 
virtual void dragLeaveEvent (QDragLeaveEvent *)
 This event handler is called when a drag is in progress and the mouse leaves this widget. More...
 
virtual void dragMoveEvent (QDragMoveEvent *)
 This event handler is called if a drag is in progress, and when any of the following conditions occur: the cursor enters this widget, the cursor moves within this widget, or a modifier key is pressed on the keyboard while this widget has the focus. More...
 
virtual void dropEvent (QDropEvent *)
 This event handler is called when the drag is dropped on this widget. More...
 
virtual void enabledChange (bool)
 
virtual void enterEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive widget enter events which are passed in the event parameter. More...
 
bool event (QEvent *)
 This is the main event handler; it handles event event. More...
 
virtual void focusInEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive keyboard focus events (focus received) for the widget. More...
 
bool focusNextChild ()
 Finds a new widget to give the keyboard focus to, as appropriate for Tab, and returns true if it can find a new widget, or false if it can't. More...
 
virtual bool focusNextPrevChild (bool next)
 Finds a new widget to give the keyboard focus to, as appropriate for Tab and Shift+Tab, and returns true if it can find a new widget, or false if it can't. More...
 
virtual void focusOutEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive keyboard focus events (focus lost) for the widget. More...
 
bool focusPreviousChild ()
 Finds a new widget to give the keyboard focus to, as appropriate for Shift+Tab, and returns true if it can find a new widget, or false if it can't. More...
 
virtual void fontChange (const QFont &)
 
virtual void hideEvent (QHideEvent *)
 This event handler can be reimplemented in a subclass to receive widget hide events. More...
 
virtual void inputMethodEvent (QInputMethodEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive Input Method composition events. More...
 
virtual void keyReleaseEvent (QKeyEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive key release events for the widget. More...
 
virtual void languageChange ()
 
virtual void leaveEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive widget leave events which are passed in the event parameter. More...
 
virtual bool macEvent (EventHandlerCallRef, EventRef)
 This special event handler can be reimplemented in a subclass to receive native Macintosh events. More...
 
int metric (PaintDeviceMetric) const
 Internal implementation of the virtual QPaintDevice::metric() function. More...
 
virtual void mouseDoubleClickEvent (QMouseEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive mouse double click events for the widget. More...
 
virtual void mouseMoveEvent (QMouseEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive mouse move events for the widget. More...
 
virtual void mousePressEvent (QMouseEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive mouse press events for the widget. More...
 
virtual void mouseReleaseEvent (QMouseEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive mouse release events for the widget. More...
 
virtual void moveEvent (QMoveEvent *)
 This event handler can be reimplemented in a subclass to receive widget move events which are passed in the event parameter. More...
 
virtual void paletteChange (const QPalette &)
 
 QWidget (QWidgetPrivate &d, QWidget *parent, Qt::WindowFlags f)
 
virtual bool qwsEvent (QWSEvent *)
 This special event handler can be reimplemented in a subclass to receive native Qt for Embedded Linux events which are passed in the event parameter. More...
 
void resetInputContext ()
 This function can be called on the widget that currently has focus to reset the input method operating on it. More...
 
virtual void styleChange (QStyle &)
 
virtual void tabletEvent (QTabletEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive tablet events for the widget. More...
 
virtual void wheelEvent (QWheelEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive wheel events for the widget. More...
 
virtual void windowActivationChange (bool)
 
virtual bool x11Event (XEvent *)
 This special event handler can be reimplemented in a subclass to receive native X11 events passed in the event parameter. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Functions inherited from QPaintDevice
 QPaintDevice ()
 

Properties

int currentId
 the ID of the current page More...
 
WizardOptions options
 the various options that affect the look and feel of the wizard More...
 
int startId
 the ID of the first page More...
 
Qt::TextFormat subTitleFormat
 the text format used by page subtitles More...
 
Qt::TextFormat titleFormat
 the text format used by page titles More...
 
WizardStyle wizardStyle
 the look and feel of the wizard More...
 

Friends

class QWizardPage
 

Additional Inherited Members

- Static Public Functions inherited from QWidget
static QWidgetfind (WId)
 Returns a pointer to the widget with window identifer/handle id. More...
 
static QWidgetkeyboardGrabber ()
 Returns the widget that is currently grabbing the keyboard input. More...
 
static QWidgetmouseGrabber ()
 Returns the widget that is currently grabbing the mouse input. More...
 
static void setTabOrder (QWidget *, QWidget *)
 Puts the second widget after the first widget in the focus order. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Functions inherited from QPaintDevice
static QWSDisplayqwsDisplay ()
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Slots inherited from QWidget
void updateMicroFocus ()
 Updates the widget's micro focus. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Protected Variables inherited from QPaintDevice
ushort painters
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QWizard class provides a framework for wizards.

Since
4.3

A wizard (also called an assistant on Mac OS X) is a special type of input dialog that consists of a sequence of pages. A wizard's purpose is to guide the user through a process step by step. Wizards are useful for complex or infrequent tasks that users may find difficult to learn.

QWizard inherits QDialog and represents a wizard. Each page is a QWizardPage (a QWidget subclass). To create your own wizards, you can use these classes directly, or you can subclass them for more control.

Topics:

A Trivial Example

The following example illustrates how to create wizard pages and add them to a wizard. For more advanced examples, see Class Wizard and License Wizard.

QWizardPage *createIntroPage()
{
page->setTitle("Introduction");
QLabel *label = new QLabel("This wizard will help you register your copy "
"of Super Product Two.");
label->setWordWrap(true);
layout->addWidget(label);
page->setLayout(layout);
return page;
}
QWizardPage *createRegistrationPage()
{

...

}
QWizardPage *createConclusionPage()
{

...

}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QString translatorFileName = QLatin1String("qt_");
translatorFileName += QLocale::system().name();
QTranslator *translator = new QTranslator(&app);
if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(translator);
QWizard wizard;
wizard.addPage(createIntroPage());
wizard.addPage(createRegistrationPage());
wizard.addPage(createConclusionPage());
wizard.setWindowTitle("Trivial Wizard");
#ifdef Q_OS_SYMBIAN
wizard.showMaximized();
#else
wizard.show();
#endif
return app.exec();
}

Wizard Look and Feel

QWizard supports four wizard looks:

You can explicitly set the look to use using setWizardStyle() (e.g., if you want the same look on all platforms).

ClassicStyle ModernStyle MacStyle AeroStyle
qtwizard-classic1.png
qtwizard-modern1.png
qtwizard-mac1.png
qtwizard-aero1.png
qtwizard-classic2.png
qtwizard-modern2.png
qtwizard-mac2.png
qtwizard-aero2.png

Note: AeroStyle has effect only on a Windows Vista system with alpha compositing enabled. ModernStyle is used as a fallback when this condition is not met.

In addition to the wizard style, there are several options that control the look and feel of the wizard. These can be set using setOption() or setOptions(). For example, HaveHelpButton makes QWizard show a Help button along with the other wizard buttons.

You can even change the order of the wizard buttons to any arbitrary order using setButtonLayout(), and you can add up to three custom buttons (e.g., a Print button) to the button row. This is achieved by calling setButton() or setButtonText() with CustomButton1, CustomButton2, or CustomButton3 to set up the button, and by enabling the HaveCustomButton1, HaveCustomButton2, or HaveCustomButton3 options. Whenever the user clicks a custom button, customButtonClicked() is emitted. For example:

wizard()->setButtonText(QWizard::CustomButton1, tr("&Print"));
this, SLOT(printButtonClicked()));

Elements of a Wizard Page

Wizards consist of a sequence of QWizardPage. At any time, only one page is shown. A page has the following attributes:

The diagram belows shows how QWizard renders these attributes, assuming they are all present and ModernStyle is used:

qtwizard-nonmacpage.png

When a QWizardPage::subTitle is set, QWizard displays it in a header, in which case it also uses the BannerPixmap and the LogoPixmap to decorate the header. The WatermarkPixmap is displayed on the left side, below the header. At the bottom, there is a row of buttons allowing the user to navigate through the pages.

The page itself (the QWizardPage widget) occupies the area between the header, the watermark, and the button row. Typically, the page is a QWizardPage on which a QGridLayout is installed, with standard child widgets (QLabel, QLineEdit, etc.).

If the wizard's style is MacStyle, the page looks radically different:

qtwizard-macpage.png

The watermark, banner, and logo pixmaps are ignored by the MacStyle. If the BackgroundPixmap is set, it is used as the background for the wizard; otherwise, a default "assistant" image is used.

The title and subtitle are set by calling QWizardPage::setTitle() and QWizardPage::setSubTitle() on the individual pages. They may be plain text or HTML (see titleFormat and subTitleFormat). The pixmaps can be set globally for the entire wizard using setPixmap(), or on a per-page basis using QWizardPage::setPixmap().

Registering and Using Fields

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. It is also possible to specify mandatory fields (i.e., fields that must be filled before the user can advance to the next page).

To register a field, call QWizardPage::registerField() field. For example:

ClassInfoPage::ClassInfoPage(QWidget *parent)
: QWizardPage(parent)
{

...

classNameLabel = new QLabel(tr("&Class name:"));
classNameLineEdit = new QLineEdit;
classNameLabel->setBuddy(classNameLineEdit);
baseClassLabel = new QLabel(tr("B&ase class:"));
baseClassLineEdit = new QLineEdit;
baseClassLabel->setBuddy(baseClassLineEdit);
qobjectMacroCheckBox = new QCheckBox(tr("Generate Q_OBJECT &macro"));
registerField("className*", classNameLineEdit);
registerField("baseClass", baseClassLineEdit);
registerField("qobjectMacro", qobjectMacroCheckBox);

...

}

The above code registers three fields, className, baseClass, and qobjectMacro, which are associated with three child widgets. The asterisk (*) next to className denotes a mandatory field.

The fields of any page are accessible from any other page. For example:

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

Here, we call QWizardPage::field() to access the contents of the className field (which was defined in the ClassInfoPage) and use it to initialize the OuputFilePage. The field's contents is returned as a QVariant.

When we create a field using QWizardPage::registerField(), we pass a unique field name and a widget. We can also provide a Qt property name and a "changed" signal (a signal that is emitted when the property changes) as third and fourth arguments; however, this is not necessary for the most common Qt widgets, such as QLineEdit, QCheckBox, and QComboBox, because QWizard knows which properties to look for.

If an asterisk (*) is appended to the name when the property is registered, 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.

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

QWizard's mandatory field mechanism is provided for convenience. A more powerful (but also more cumbersome) alternative is to reimplement QWizardPage::isComplete() and to emit the QWizardPage::completeChanged() signal whenever the page becomes complete or incomplete.

The enabled/disabled state of the Next and/or Finish buttons is one way to perform validation on the user input. Another way is to reimplement validateCurrentPage() (or QWizardPage::validatePage()) to perform some last-minute validation (and show an error message if the user has entered incomplete or invalid information). If the function returns true, the next page is shown (or the wizard finishes); otherwise, the current page stays up.

Creating Linear Wizards

Most wizards have a linear structure, with page 1 followed by page 2 and so on until the last page. The Class Wizard example is such a wizard. With QWizard, linear wizards are created by instantiating the QWizardPage and inserting them using addPage(). By default, the pages are shown in the order in which they were added. For example:

ClassWizard::ClassWizard(QWidget *parent)
: QWizard(parent)
{
addPage(new IntroPage);
addPage(new ClassInfoPage);
addPage(new CodeStylePage);
addPage(new OutputFilesPage);
addPage(new ConclusionPage);

...

}

When a page is about to be shown, QWizard calls initializePage() (which in turn calls QWizardPage::initializePage()) to fill the page with default values. By default, this function does nothing, but it can be reimplemented to initialize the page's contents based on other pages' fields (see the initialize page{example above}).

If the user presses Back, cleanupPage() is called (which in turn calls QWizardPage::cleanupPage()). The default implementation resets the page's fields to their original values (the values they had before initializePage() was called). If you want the Back button to be non-destructive and keep the values entered by the user, simply enable the IndependentPages option.

Creating Non-Linear Wizards

Some wizards are more complex in that they allow different traversal paths based on the information provided by the user. The License Wizard example illustrates this. It provides five wizard pages; depending on which options are selected, the user can reach different pages.

licensewizard-flow.png

In complex wizards, pages are identified by IDs. These IDs are typically defined using an enum. For example:

class LicenseWizard : public QWizard
{

...

enum { Page_Intro, Page_Evaluate, Page_Register, Page_Details,
Page_Conclusion };

...

};

The pages are inserted using setPage(), which takes an ID and an instance of QWizardPage (or of a subclass):

LicenseWizard::LicenseWizard(QWidget *parent)
: QWizard(parent)
{
setPage(Page_Intro, new IntroPage);
setPage(Page_Evaluate, new EvaluatePage);
setPage(Page_Register, new RegisterPage);
setPage(Page_Details, new DetailsPage);
setPage(Page_Conclusion, new ConclusionPage);

...

}

By default, the pages are shown in increasing ID order. To provide a dynamic order that depends on the options chosen by the user, we must reimplement QWizardPage::nextId(). For example:

int IntroPage::nextId() const
{
if (evaluateRadioButton->isChecked()) {
return LicenseWizard::Page_Evaluate;
} else {
return LicenseWizard::Page_Register;
}
}
int EvaluatePage::nextId() const
{
return LicenseWizard::Page_Conclusion;
}
int RegisterPage::nextId() const
{
if (upgradeKeyLineEdit->text().isEmpty()) {
return LicenseWizard::Page_Details;
} else {
return LicenseWizard::Page_Conclusion;
}
}
int DetailsPage::nextId() const
{
return LicenseWizard::Page_Conclusion;
}
int ConclusionPage::nextId() const
{
return -1;
}

It would also be possible to put all the logic in one place, in a QWizard::nextId() reimplementation. For example:

int LicenseWizard::nextId() const
{
switch (currentId()) {
case Page_Intro:
if (field("intro.evaluate").toBool()) {
return Page_Evaluate;
} else {
return Page_Register;
}
case Page_Evaluate:
return Page_Conclusion;
case Page_Register:
if (field("register.upgradeKey").toString().isEmpty()) {
return Page_Details;
} else {
return Page_Conclusion;
}
case Page_Details:
return Page_Conclusion;
case Page_Conclusion:
default:
return -1;
}
}

To start at another page than the page with the lowest ID, call setStartId().

To test whether a page has been visited or not, call hasVisitedPage(). For example:

void ConclusionPage::initializePage()
{
QString licenseText;
if (wizard()->hasVisitedPage(LicenseWizard::Page_Evaluate)) {
licenseText = tr("<u>Evaluation License Agreement:</u> "
"You can use this software for 30 days and make one "
"backup, but you are not allowed to distribute it.");
} else if (wizard()->hasVisitedPage(LicenseWizard::Page_Details)) {
licenseText = tr("<u>First-Time License Agreement:</u> "
"You can use this software subject to the license "
"you will receive by email.");
} else {
licenseText = tr("<u>Upgrade License Agreement:</u> "
"This software is licensed under the terms of your "
"current license.");
}
bottomLabel->setText(licenseText);
}
See also
QWizardPage, {Class Wizard Example}, {License Wizard Example}

Definition at line 59 of file qwizard.h.

Enumerations

◆ WizardButton

This enum specifies the buttons in a wizard.

  • BackButton The Back button ({Go Back} on Mac OS X)
  • NextButton The Next button (Continue on Mac OS X)
  • CommitButton The Commit button
  • FinishButton The Finish button (Done on Mac OS X)
  • CancelButton The Cancel button (see also NoCancelButton)
  • HelpButton The Help button (see also HaveHelpButton)
  • CustomButton1 The first user-defined button (see also HaveCustomButton1)
  • CustomButton2 The second user-defined button (see also HaveCustomButton2)
  • CustomButton3 The third user-defined button (see also HaveCustomButton3)

The following value is only useful when calling setButtonLayout():

  • Stretch A horizontal stretch in the button layout
  • NoButton
  • NStandardButtons
  • NButtons
See also
setButton(), setButtonText(), setButtonLayout(), customButtonClicked()
Enumerator
BackButton 
NextButton 
CommitButton 
FinishButton 
CancelButton 
HelpButton 
CustomButton1 
CustomButton2 
CustomButton3 
Stretch 
NoButton 
NStandardButtons 
NButtons 

Definition at line 72 of file qwizard.h.

◆ WizardOption

This enum specifies various options that affect the look and feel of a wizard.

  • IndependentPages The pages are independent of each other (i.e., they don't derive values from each other).
  • IgnoreSubTitles Don't show any subtitles, even if they are set.
  • ExtendedWatermarkPixmap Extend any WatermarkPixmap all the way down to the window's edge.
  • NoDefaultButton Don't make the Next or Finish button the dialog's default button.
  • NoBackButtonOnStartPage Don't show the Back button on the start page.
  • NoBackButtonOnLastPage Don't show the Back button on the last page.
  • DisabledBackButtonOnLastPage Disable the Back button on the last page.
  • HaveNextButtonOnLastPage Show the (disabled) Next button on the last page.
  • HaveFinishButtonOnEarlyPages Show the (disabled) Finish button on non-final pages.
  • NoCancelButton Don't show the Cancel button.
  • CancelButtonOnLeft Put the Cancel button on the left of Back (rather than on the right of Finish or Next).
  • HaveHelpButton Show the Help button.
  • HelpButtonOnRight Put the Help button on the far right of the button layout (rather than on the far left).
  • HaveCustomButton1 Show the first user-defined button (CustomButton1).
  • HaveCustomButton2 Show the second user-defined button (CustomButton2).
  • HaveCustomButton3 Show the third user-defined button (CustomButton3).
See also
setOptions(), setOption(), testOption()
Enumerator
IndependentPages 
IgnoreSubTitles 
ExtendedWatermarkPixmap 
NoDefaultButton 
NoBackButtonOnStartPage 
NoBackButtonOnLastPage 
DisabledBackButtonOnLastPage 
HaveNextButtonOnLastPage 
HaveFinishButtonOnEarlyPages 
NoCancelButton 
CancelButtonOnLeft 
HaveHelpButton 
HelpButtonOnRight 
HaveCustomButton1 
HaveCustomButton2 
HaveCustomButton3 

Definition at line 105 of file qwizard.h.

105  {
106  IndependentPages = 0x00000001,
107  IgnoreSubTitles = 0x00000002,
108  ExtendedWatermarkPixmap = 0x00000004,
109  NoDefaultButton = 0x00000008,
110  NoBackButtonOnStartPage = 0x00000010,
111  NoBackButtonOnLastPage = 0x00000020,
112  DisabledBackButtonOnLastPage = 0x00000040,
113  HaveNextButtonOnLastPage = 0x00000080,
114  HaveFinishButtonOnEarlyPages = 0x00000100,
115  NoCancelButton = 0x00000200,
116  CancelButtonOnLeft = 0x00000400,
117  HaveHelpButton = 0x00000800,
118  HelpButtonOnRight = 0x00001000,
119  HaveCustomButton1 = 0x00002000,
120  HaveCustomButton2 = 0x00004000,
121  HaveCustomButton3 = 0x00008000
122  };

◆ WizardPixmap

This enum specifies the pixmaps that can be associated with a page.

  • WatermarkPixmap The tall pixmap on the left side of a ClassicStyle or ModernStyle page
  • LogoPixmap The small pixmap on the right side of a ClassicStyle or ModernStyle page header
  • BannerPixmap The pixmap that occupies the background of a ModernStyle page header
  • BackgroundPixmap The pixmap that occupies the background of a MacStyle wizard
  • NPixmaps
See also
setPixmap(), QWizardPage::setPixmap(), {Elements of a Wizard Page}
Enumerator
WatermarkPixmap 
LogoPixmap 
BannerPixmap 
BackgroundPixmap 
NPixmaps 

Definition at line 89 of file qwizard.h.

◆ WizardStyle

This enum specifies the different looks supported by QWizard.

  • ClassicStyle Classic Windows look
  • ModernStyle Modern Windows look
  • MacStyle Mac OS X look
  • AeroStyle Windows Aero look
  • NStyles
See also
setWizardStyle(), WizardOption, {Wizard Look and Feel}
Enumerator
ClassicStyle 
ModernStyle 
MacStyle 
AeroStyle 
NStyles 

Definition at line 97 of file qwizard.h.

Constructors and Destructors

◆ QWizard()

QWizard::QWizard ( QWidget parent = 0,
Qt::WindowFlags  flags = 0 
)
explicit

Constructs a wizard with the given parent and window flags.

See also
parent(), windowFlags()

Definition at line 2214 of file qwizard.cpp.

2215  : QDialog(*new QWizardPrivate, parent, flags)
2216 {
2217  Q_D(QWizard);
2218  d->init();
2219 #ifdef Q_WS_WINCE
2220  if (!qt_wince_is_mobile())
2222 #endif
2223 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
void setWindowFlags(Qt::WindowFlags type)
Definition: qwidget.cpp:10399
bool qt_wince_is_mobile()
QDialog(QWidget *parent=0, Qt::WindowFlags f=0)
Constructs a dialog with parent parent.
Definition: qdialog.cpp:268
Qt::WindowFlags windowFlags() const
Window flags are a combination of a type (e.
Definition: qwidget.h:939
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ ~QWizard()

QWizard::~QWizard ( )

Destroys the wizard and its pages, releasing any allocated resources.

Definition at line 2228 of file qwizard.cpp.

2229 {
2230  Q_D(QWizard);
2231  delete d->buttonLayout;
2232 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

Functions

◆ addPage()

int QWizard::addPage ( QWizardPage page)

Adds the given page to the wizard, and returns the page's ID.

The ID is guaranteed to be larger than any other ID in the QWizard so far.

See also
setPage(), page(), pageAdded()

Definition at line 2242 of file qwizard.cpp.

2243 {
2244  Q_D(QWizard);
2245  int theid = 0;
2246  if (!d->pageMap.isEmpty())
2247  theid = (d->pageMap.constEnd() - 1).key() + 1;
2248  setPage(theid, page);
2249  return theid;
2250 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
int key
void setPage(int id, QWizardPage *page)
Adds the given page to the wizard with the given id.
Definition: qwizard.cpp:2262
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ back

void QWizard::back ( )
slot

Goes back to the previous page.

This is equivalent to pressing the Back button.

See also
next(), accept(), reject(), restart()

Definition at line 3159 of file qwizard.cpp.

Referenced by removePage().

3160 {
3161  Q_D(QWizard);
3162  int n = d->history.count() - 2;
3163  if (n < 0)
3164  return;
3165  d->switchToPage(d->history.at(n), QWizardPrivate::Backward);
3166 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ button()

QAbstractButton * QWizard::button ( WizardButton  which) const

Returns the button corresponding to role which.

See also
setButton(), setButtonText()

Definition at line 2829 of file qwizard.cpp.

Referenced by setButton().

2830 {
2831  Q_D(const QWizard);
2832 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
2833  if (d->wizStyle == AeroStyle && which == BackButton)
2834  return d->vistaHelper->backButton();
2835 #endif
2836  if (!d->ensureButton(which))
2837  return 0;
2838  return d->btns[which];
2839 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ buttonText()

QString QWizard::buttonText ( WizardButton  which) const

Returns the text on button which.

If a text has ben set using setButtonText(), this text is returned.

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

See also
button(), setButton(), setButtonText(), QWizardPage::buttonText(), QWizardPage::setButtonText()

Definition at line 2729 of file qwizard.cpp.

Referenced by QWizardPage::buttonText().

2730 {
2731  Q_D(const QWizard);
2732 
2733  if (!d->ensureButton(which))
2734  return QString();
2735 
2736  if (d->buttonCustomTexts.contains(which))
2737  return d->buttonCustomTexts.value(which);
2738 
2739  const QString defText = buttonDefaultText(d->wizStyle, which, d);
2740  if(!defText.isNull())
2741  return defText;
2742 
2743  return d->btns[which]->text();
2744 }
double d
Definition: qnumeric_p.h:62
static QString buttonDefaultText(int wstyle, int which, const QWizardPrivate *wizardPrivate)
Definition: qwizard.cpp:680
The QString class provides a Unicode character string.
Definition: qstring.h:83
#define Q_D(Class)
Definition: qglobal.h:2482
bool isNull() const
Returns true if this string is null; otherwise returns false.
Definition: qstring.h:505
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ cleanupPage()

void QWizard::cleanupPage ( int  id)
protectedvirtual

This virtual function is called by QWizard to clean up page id just before the user leaves it by clicking Back (unless the QWizard::IndependentPages option is set).

The default implementation calls QWizardPage::cleanupPage() on page(id).

See also
QWizardPage::cleanupPage(), initializePage()

Definition at line 3378 of file qwizard.cpp.

Referenced by removePage().

3379 {
3380  QWizardPage *page = this->page(theid);
3381  if (page)
3382  page->cleanupPage();
3383 }
The QWizardPage class is the base class for wizard pages.
Definition: qwizard.h:214
virtual void cleanupPage()
This virtual function is called by QWizard::cleanupPage() when the user leaves the page by clicking B...
Definition: qwizard.cpp:3661
QWizardPage * page(int id) const
Returns the page with the given id, or 0 if there is no such page.
Definition: qwizard.cpp:2392

◆ currentId()

int QWizard::currentId ( ) const

Referenced by currentPage().

◆ currentIdChanged

void QWizard::currentIdChanged ( int  id)
signal

This signal is emitted when the current page changes, with the new current id.

See also
currentId(), currentPage()

◆ currentPage()

QWizardPage * QWizard::currentPage ( ) const

Returns a pointer to the current page, or 0 if there is no current page (e.g., before the wizard is shown).

This is equivalent to calling page(currentId()).

See also
page(), currentId(), restart()

Definition at line 2488 of file qwizard.cpp.

Referenced by QWizardPage::isFinalPage(), nextId(), paintEvent(), setButtonText(), QWizardPage::setCommitPage(), QWizardPage::setFinalPage(), sizeHint(), and validateCurrentPage().

2489 {
2490  Q_D(const QWizard);
2491  return page(d->current);
2492 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
QWizardPage * page(int id) const
Returns the page with the given id, or 0 if there is no such page.
Definition: qwizard.cpp:2392
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ customButtonClicked

void QWizard::customButtonClicked ( int  which)
signal

This signal is emitted when the user clicks a custom button.

which can be CustomButton1, CustomButton2, or CustomButton3.

By default, no custom button is shown. Call setOption() with HaveCustomButton1, HaveCustomButton2, or HaveCustomButton3 to have one, and use setButtonText() or setButton() to configure it.

See also
helpRequested()

◆ done()

void QWizard::done ( int  result)
protectedvirtual

Reimplemented Function

Reimplemented from QDialog.

Definition at line 3324 of file qwizard.cpp.

3325 {
3326  Q_D(QWizard);
3327  // canceling leaves the wizard in a known state
3328  if (result == Rejected) {
3329  d->reset();
3330  } else {
3331  if (!validateCurrentPage())
3332  return;
3333  }
3335 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
virtual bool validateCurrentPage()
This virtual function is called by QWizard when the user clicks Next or Finish to perform some last-m...
Definition: qwizard.cpp:3401
virtual void done(int)
Closes the dialog and sets its result code to r.
Definition: qdialog.cpp:617
int result() const
In general returns the modal dialog&#39;s result code, Accepted or Rejected.
Definition: qdialog.cpp:458
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ event()

bool QWizard::event ( QEvent event)
protectedvirtual

Reimplemented Function

Reimplemented from QDialog.

Definition at line 3216 of file qwizard.cpp.

3217 {
3218  Q_D(QWizard);
3219  if (event->type() == QEvent::StyleChange) { // Propagate style
3220  d->setStyle(style());
3221  d->updateLayout();
3222  }
3223 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
3224  else if (event->type() == QEvent::Show && d->vistaInitPending) {
3225  d->vistaInitPending = false;
3226  d->wizStyle = AeroStyle;
3227  d->handleAeroStyleChange();
3228  }
3229  else if (d->isVistaThemeEnabled()) {
3230  if (event->type() == QEvent::Resize
3231  || event->type() == QEvent::LayoutDirectionChange) {
3232  const int buttonLeft = (layoutDirection() == Qt::RightToLeft
3233  ? width() - d->vistaHelper->backButton()->sizeHint().width()
3234  : 0);
3235 
3236  d->vistaHelper->backButton()->move(buttonLeft,
3237  d->vistaHelper->backButton()->y());
3238  }
3239 
3240  d->vistaHelper->mouseEvent(event);
3241  }
3242 #endif
3243  return QDialog::event(event);
3244 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
QStyle * style() const
Definition: qwidget.cpp:2742
int width() const
Qt::LayoutDirection layoutDirection() const
bool event(QEvent *e)
Reimplemented Function
Definition: qdialog.cpp:426
Type type() const
Returns the event type.
Definition: qcoreevent.h:303
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ field()

QVariant QWizard::field ( const QString name) const

Returns the value of the field called name.

This function can be used to access fields on any page of the wizard.

See also
QWizardPage::registerField(), QWizardPage::field(), setField()

Definition at line 2545 of file qwizard.cpp.

Referenced by setField().

2546 {
2547  Q_D(const QWizard);
2548 
2549  int index = d->fieldIndexMap.value(name, -1);
2550  if (index != -1) {
2551  const QWizardField &field = d->fields.at(index);
2552  return field.object->property(field.property);
2553  }
2554 
2555  qWarning("QWizard::field: No such field '%s'", qPrintable(name));
2556  return QVariant();
2557 }
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
double d
Definition: qnumeric_p.h:62
QByteArray property
Definition: qwizard.cpp:178
QVariant field(const QString &name) const
Returns the value of the field called name.
Definition: qwizard.cpp:2545
#define Q_D(Class)
Definition: qglobal.h:2482
Q_CORE_EXPORT void qWarning(const char *,...)
QObject * object
Definition: qwizard.cpp:177
quint16 index
QVariant property(const char *name) const
Returns the value of the object&#39;s name property.
Definition: qobject.cpp:3807
#define qPrintable(string)
Definition: qglobal.h:1750
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ hasVisitedPage()

bool QWizard::hasVisitedPage ( int  id) const

Returns true if the page history contains page id; otherwise, returns false.

Pressing Back marks the current page as "unvisited" again.

See also
visitedPages()

Definition at line 2411 of file qwizard.cpp.

2412 {
2413  Q_D(const QWizard);
2414  return d->history.contains(theid);
2415 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ helpRequested

void QWizard::helpRequested ( )
signal

This signal is emitted when the user clicks the Help button.

By default, no Help button is shown. Call setOption(HaveHelpButton, true) to have one.

Example:

LicenseWizard::LicenseWizard(QWidget *parent)
: QWizard(parent)
{

...

connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp()));

...

}
void LicenseWizard::showHelp()
{
static QString lastHelpMessage;
QString message;
switch (currentId()) {
case Page_Intro:
message = tr("The decision you make here will affect which page you "
"get to see next.");
break;

...

default:
message = tr("This help is likely not to be of any help.");
}
QMessageBox::information(this, tr("License Wizard Help"), message);
}
See also
customButtonClicked()

◆ initializePage()

void QWizard::initializePage ( int  id)
protectedvirtual

This virtual function is called by QWizard to prepare page id 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.

The default implementation calls QWizardPage::initializePage() on page(id).

See also
QWizardPage::initializePage(), cleanupPage()

Definition at line 3357 of file qwizard.cpp.

3358 {
3359  QWizardPage *page = this->page(theid);
3360  if (page)
3361  page->initializePage();
3362 }
The QWizardPage class is the base class for wizard pages.
Definition: qwizard.h:214
QWizardPage * page(int id) const
Returns the page with the given id, or 0 if there is no such page.
Definition: qwizard.cpp:2392
virtual void initializePage()
This virtual function is called by QWizard::initializePage() to prepare the page just before it is sh...
Definition: qwizard.cpp:3646

◆ next

void QWizard::next ( )
slot

Advances to the next page.

This is equivalent to pressing the Next or Commit button.

See also
nextId(), back(), accept(), reject(), restart()

Definition at line 3175 of file qwizard.cpp.

3176 {
3177  Q_D(QWizard);
3178 
3179  if (d->current == -1)
3180  return;
3181 
3182  if (validateCurrentPage()) {
3183  int next = nextId();
3184  if (next != -1) {
3185  if (d->history.contains(next)) {
3186  qWarning("QWizard::next: Page %d already met", next);
3187  return;
3188  }
3189  if (!d->pageMap.contains(next)) {
3190  qWarning("QWizard::next: No such page %d", next);
3191  return;
3192  }
3193  d->switchToPage(next, QWizardPrivate::Forward);
3194  }
3195  }
3196 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
virtual bool validateCurrentPage()
This virtual function is called by QWizard when the user clicks Next or Finish to perform some last-m...
Definition: qwizard.cpp:3401
Q_CORE_EXPORT void qWarning(const char *,...)
virtual int nextId() const
This virtual function is called by QWizard to find out which page to show when the user clicks the Ne...
Definition: qwizard.cpp:3424
void next()
Advances to the next page.
Definition: qwizard.cpp:3175
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ nextId()

int QWizard::nextId ( ) const
virtual

This virtual function is called by QWizard 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.

The default implementation calls QWizardPage::nextId() on the currentPage().

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

See also
QWizardPage::nextId(), currentPage()

Definition at line 3424 of file qwizard.cpp.

Referenced by QWizardPage::isFinalPage(), and next().

3425 {
3426  const QWizardPage *page = currentPage();
3427  if (!page)
3428  return -1;
3429 
3430  return page->nextId();
3431 }
virtual int nextId() const
This virtual function is called by QWizard::nextId() to find out which page to show when the user cli...
Definition: qwizard.cpp:3881
The QWizardPage class is the base class for wizard pages.
Definition: qwizard.h:214
QWizardPage * page(int id) const
Returns the page with the given id, or 0 if there is no such page.
Definition: qwizard.cpp:2392
QWizardPage * currentPage() const
Returns a pointer to the current page, or 0 if there is no current page (e.g., before the wizard is s...
Definition: qwizard.cpp:2488

◆ options()

WizardOptions QWizard::options ( ) const

Referenced by setOptions().

◆ page()

QWizardPage * QWizard::page ( int  id) const

Returns the page with the given id, or 0 if there is no such page.

See also
addPage(), setPage()

Definition at line 2392 of file qwizard.cpp.

Referenced by cleanupPage(), currentPage(), initializePage(), nextId(), and validateCurrentPage().

2393 {
2394  Q_D(const QWizard);
2395  return d->pageMap.value(theid);
2396 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ pageAdded

void QWizard::pageAdded ( int  id)
signal

This signal is emitted whenever a page is added to the wizard.

Since
4.7

The page's id is passed as parameter.

See also
addPage(), setPage(), startId()

Referenced by setPage().

◆ pageIds()

QList< int > QWizard::pageIds ( ) const

Returns the list of page IDs.

Since
4.5

Definition at line 2435 of file qwizard.cpp.

2436 {
2437  Q_D(const QWizard);
2438  return d->pageMap.keys();
2439 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ pageRemoved

void QWizard::pageRemoved ( int  id)
signal

This signal is emitted whenever a page is removed from the wizard.

Since
4.7

The page's id is passed as parameter.

See also
removePage(), startId()

Referenced by removePage().

◆ paintEvent()

void QWizard::paintEvent ( QPaintEvent event)
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 3271 of file qwizard.cpp.

3272 {
3273  Q_D(QWizard);
3274  if (d->wizStyle == MacStyle && currentPage()) {
3275  QPixmap backgroundPixmap = currentPage()->pixmap(BackgroundPixmap);
3276  if (backgroundPixmap.isNull())
3277  return;
3278 
3279  QPainter painter(this);
3280  painter.drawPixmap(0, (height() - backgroundPixmap.height()) / 2, backgroundPixmap);
3281  }
3282 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
3283  else if (d->isVistaThemeEnabled()) {
3284  if (d->isVistaThemeEnabled(QVistaHelper::VistaBasic)) {
3285  QPainter painter(this);
3286  QColor color = d->vistaHelper->basicWindowFrameColor();
3287  painter.fillRect(0, 0, width(), QVistaHelper::topOffset(), color);
3288  }
3289  d->vistaHelper->paintEvent(event);
3290  }
3291 #else
3292  Q_UNUSED(event);
3293 #endif
3294 }
The QPainter class performs low-level painting on widgets and other paint devices.
Definition: qpainter.h:86
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition: qcolor.h:67
double d
Definition: qnumeric_p.h:62
QPixmap pixmap(QWizard::WizardPixmap which) const
Returns the pixmap set for role which.
Definition: qwizard.cpp:3614
static int topOffset()
#define Q_D(Class)
Definition: qglobal.h:2482
int height() const
int width() const
QWizardPage * currentPage() const
Returns a pointer to the current page, or 0 if there is no current page (e.g., before the wizard is s...
Definition: qwizard.cpp:2488
The QPixmap class is an off-screen image representation that can be used as a paint device...
Definition: qpixmap.h:71
int height() const
Returns the height of the pixmap.
Definition: qpixmap.cpp:645
bool isNull() const
Returns true if this is a null pixmap; otherwise returns false.
Definition: qpixmap.cpp:615
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ pixmap()

QPixmap QWizard::pixmap ( WizardPixmap  which) const

Returns the pixmap set for role which.

By default, the only pixmap that is set is the BackgroundPixmap on Mac OS X.

See also
QWizardPage::pixmap(), {Elements of a Wizard Page}

Definition at line 2917 of file qwizard.cpp.

Referenced by QWizardPage::pixmap(), setPixmap(), and sizeHint().

2918 {
2919  Q_D(const QWizard);
2920  Q_ASSERT(uint(which) < NPixmaps);
2921 #ifdef Q_WS_MAC
2922  if (which == BackgroundPixmap && d->defaultPixmaps[BackgroundPixmap].isNull())
2923  d->defaultPixmaps[BackgroundPixmap] = d->findDefaultBackgroundPixmap();
2924 #endif
2925  return d->defaultPixmaps[which];
2926 }
double d
Definition: qnumeric_p.h:62
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define Q_D(Class)
Definition: qglobal.h:2482
unsigned int uint
Definition: qglobal.h:996
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ removePage()

void QWizard::removePage ( int  id)

Removes the page with the given id.

cleanupPage() will be called if necessary.

Note
Removing a page may influence the value of the startId property.
Since
4.5
See also
addPage(), setPage(), pageRemoved(), startId()

Definition at line 2318 of file qwizard.cpp.

2319 {
2320  Q_D(QWizard);
2321 
2322  QWizardPage *removedPage = 0;
2323 
2324  // update startItem accordingly
2325  if (d->pageMap.count() > 0) { // only if we have any pages
2326  if (d->start == id) {
2327  const int firstId = d->pageMap.constBegin().key();
2328  if (firstId == id) {
2329  if (d->pageMap.count() > 1)
2330  d->start = (++d->pageMap.constBegin()).key(); // secondId
2331  else
2332  d->start = -1; // removing the last page
2333  } else { // startSetByUser has to be "true" here
2334  d->start = firstId;
2335  }
2336  d->startSetByUser = false;
2337  }
2338  }
2339 
2340  if (d->pageMap.contains(id))
2341  emit pageRemoved(id);
2342 
2343  if (!d->history.contains(id)) {
2344  // Case 1: removing a page not in the history
2345  removedPage = d->pageMap.take(id);
2346  d->updateCurrentPage();
2347  } else if (id != d->current) {
2348  // Case 2: removing a page in the history before the current page
2349  removedPage = d->pageMap.take(id);
2350  d->history.removeOne(id);
2351  d->_q_updateButtonStates();
2352  } else if (d->history.count() == 1) {
2353  // Case 3: removing the current page which is the first (and only) one in the history
2354  d->reset();
2355  removedPage = d->pageMap.take(id);
2356  if (d->pageMap.isEmpty())
2357  d->updateCurrentPage();
2358  else
2359  restart();
2360  } else {
2361  // Case 4: removing the current page which is not the first one in the history
2362  back();
2363  removedPage = d->pageMap.take(id);
2364  d->updateCurrentPage();
2365  }
2366 
2367  if (removedPage) {
2368  if (d->initialized.contains(id)) {
2369  cleanupPage(id);
2370  d->initialized.remove(id);
2371  }
2372 
2373  d->pageVBoxLayout->removeWidget(removedPage);
2374 
2375  for (int i = d->fields.count() - 1; i >= 0; --i) {
2376  if (d->fields.at(i).page == removedPage) {
2377  removedPage->d_func()->pendingFields += d->fields.at(i);
2378  d->removeFieldAt(i);
2379  }
2380  }
2381  }
2382 }
void restart()
Restarts the wizard at the start page.
Definition: qwizard.cpp:3204
double d
Definition: qnumeric_p.h:62
The QWizardPage class is the base class for wizard pages.
Definition: qwizard.h:214
virtual void cleanupPage(int id)
This virtual function is called by QWizard to clean up page id just before the user leaves it by clic...
Definition: qwizard.cpp:3378
#define Q_D(Class)
Definition: qglobal.h:2482
void pageRemoved(int id)
This signal is emitted whenever a page is removed from the wizard.
#define emit
Definition: qobjectdefs.h:76
void back()
Goes back to the previous page.
Definition: qwizard.cpp:3159
int key
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ resizeEvent()

void QWizard::resizeEvent ( QResizeEvent event)
protectedvirtual

Reimplemented Function

Reimplemented from QDialog.

Definition at line 3249 of file qwizard.cpp.

3250 {
3251  Q_D(QWizard);
3252  int heightOffset = 0;
3253 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
3254  if (d->isVistaThemeEnabled()) {
3255  heightOffset = d->vistaHelper->topOffset();
3256  if (d->isVistaThemeEnabled(QVistaHelper::VistaAero))
3257  heightOffset += d->vistaHelper->titleBarSize();
3258  }
3259 #endif
3260  d->antiFlickerWidget->resize(event->size().width(), event->size().height() - heightOffset);
3261 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
3262  if (d->isVistaThemeEnabled())
3263  d->vistaHelper->resizeEvent(event);
3264 #endif
3265  QDialog::resizeEvent(event);
3266 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
int width() const
Returns the width.
Definition: qsize.h:126
void resizeEvent(QResizeEvent *)
Reimplemented Function
Definition: qdialog.cpp:1268
const QSize & size() const
Returns the new size of the widget.
Definition: qevent.h:355
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ restart

void QWizard::restart ( )
slot

Restarts the wizard at the start page.

This function is called automatically when the wizard is shown.

See also
startId()

Definition at line 3204 of file qwizard.cpp.

Referenced by removePage(), and setVisible().

3205 {
3206  Q_D(QWizard);
3207  d->disableUpdates();
3208  d->reset();
3209  d->switchToPage(startId(), QWizardPrivate::Forward);
3210  d->enableUpdates();
3211 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
int startId() const
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setButton()

void QWizard::setButton ( WizardButton  which,
QAbstractButton button 
)

Sets the button corresponding to role which to button.

To add extra buttons to the wizard (e.g., a Print button), one way is to call setButton() with CustomButton1 to CustomButton3, and make the buttons visible using the HaveCustomButton1 to HaveCustomButton3 options.

See also
setButtonText(), setButtonLayout(), options

Definition at line 2799 of file qwizard.cpp.

2800 {
2801  Q_D(QWizard);
2802 
2803  if (uint(which) >= NButtons || d->btns[which] == button)
2804  return;
2805 
2806  if (QAbstractButton *oldButton = d->btns[which]) {
2807  d->buttonLayout->removeWidget(oldButton);
2808  delete oldButton;
2809  }
2810 
2811  d->btns[which] = button;
2812  if (button) {
2813  button->setParent(d->antiFlickerWidget);
2814  d->buttonCustomTexts.insert(which, button->text());
2815  d->connectButton(which);
2816  } else {
2817  d->buttonCustomTexts.remove(which); // ### what about page-specific texts set for 'which'
2818  d->ensureButton(which); // (QWizardPage::setButtonText())? Clear them as well?
2819  }
2820 
2821  d->updateButtonLayout();
2822 }
The QAbstractButton class is the abstract base class of button widgets, providing functionality commo...
double d
Definition: qnumeric_p.h:62
QAbstractButton * button(WizardButton which) const
Returns the button corresponding to role which.
Definition: qwizard.cpp:2829
void setParent(QWidget *parent)
Sets the parent of the widget to parent, and resets the window flags.
Definition: qwidget.cpp:10479
QString text
the text shown on the button
#define Q_D(Class)
Definition: qglobal.h:2482
unsigned int uint
Definition: qglobal.h:996
static int oldButton(int button)
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setButtonLayout()

void QWizard::setButtonLayout ( const QList< WizardButton > &  layout)

Sets the order in which buttons are displayed to layout, where layout is a list of WizardButton.

The default layout depends on the options (e.g., whether HelpButtonOnRight) that are set. You can call this function if you need more control over the buttons' layout than what options already provides.

You can specify horizontal stretches in the layout using Stretch .

Example:

See also
setButton(), setButtonText(), setOptions()

Definition at line 2762 of file qwizard.cpp.

2763 {
2764  Q_D(QWizard);
2765 
2766  for (int i = 0; i < layout.count(); ++i) {
2767  WizardButton button1 = layout.at(i);
2768 
2769  if (button1 == NoButton || button1 == Stretch)
2770  continue;
2771  if (!d->ensureButton(button1))
2772  return;
2773 
2774  // O(n^2), but n is very small
2775  for (int j = 0; j < i; ++j) {
2776  WizardButton button2 = layout.at(j);
2777  if (button2 == button1) {
2778  qWarning("QWizard::setButtonLayout: Duplicate button in layout");
2779  return;
2780  }
2781  }
2782  }
2783 
2784  d->buttonsHaveCustomLayout = true;
2785  d->buttonsCustomLayout = layout;
2786  d->updateButtonLayout();
2787 }
double d
Definition: qnumeric_p.h:62
WizardButton
This enum specifies the buttons in a wizard.
Definition: qwizard.h:72
int count(const T &t) const
Returns the number of occurrences of value in the list.
Definition: qlist.h:891
#define Q_D(Class)
Definition: qglobal.h:2482
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
Q_CORE_EXPORT void qWarning(const char *,...)
QLayout * layout() const
Returns the layout manager that is installed on this widget, or 0 if no layout manager is installed...
Definition: qwidget.cpp:10073
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setButtonText()

void QWizard::setButtonText ( WizardButton  which,
const QString text 
)

Sets the text on button which to be text.

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

To add extra buttons to the wizard (e.g., a Print button), one way is to call setButtonText() with CustomButton1, CustomButton2, or CustomButton3 to set their text, and make the buttons visible using the HaveCustomButton1, HaveCustomButton2, and/or HaveCustomButton3 options.

Button texts may also be set on a per-page basis using QWizardPage::setButtonText().

See also
setButton(), button(), setButtonLayout(), setOptions(), QWizardPage::setButtonText()

Definition at line 2704 of file qwizard.cpp.

2705 {
2706  Q_D(QWizard);
2707 
2708  if (!d->ensureButton(which))
2709  return;
2710 
2711  d->buttonCustomTexts.insert(which, text);
2712 
2713  if (!currentPage() || !currentPage()->d_func()->buttonCustomTexts.contains(which))
2714  d->btns[which]->setText(text);
2715 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
QWizardPage * currentPage() const
Returns a pointer to the current page, or 0 if there is no current page (e.g., before the wizard is s...
Definition: qwizard.cpp:2488
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setDefaultProperty()

void QWizard::setDefaultProperty ( const char *  className,
const char *  property,
const char *  changedSignal 
)

Sets the default property for className to be property, and the associated change signal to be changedSignal.

The default property is used when an instance of className (or of one of its subclasses) is passed to QWizardPage::registerField() and no property is specified.

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 QAbstractButton::checked QAbstractButton::toggled()
QAbstractSlider int QAbstractSlider::value QAbstractSlider::valueChanged()
QComboBox int QComboBox::currentIndex QComboBox::currentIndexChanged()
QDateTimeEdit QDateTime QDateTimeEdit::dateTime QDateTimeEdit::dateTimeChanged()
QLineEdit QString QLineEdit::text QLineEdit::textChanged()
QListWidget int QListWidget::currentRow QListWidget::currentRowChanged()
QSpinBox int QSpinBox::value QSpinBox::valueChanged()
See also
QWizardPage::registerField()

Definition at line 2953 of file qwizard.cpp.

2955 {
2956  Q_D(QWizard);
2957  for (int i = d->defaultPropertyTable.count() - 1; i >= 0; --i) {
2958  if (qstrcmp(d->defaultPropertyTable.at(i).className, className) == 0) {
2959  d->defaultPropertyTable.remove(i);
2960  break;
2961  }
2962  }
2963  d->defaultPropertyTable.append(QWizardDefaultProperty(className, property, changedSignal));
2964 }
double d
Definition: qnumeric_p.h:62
const char * changedSignal
Definition: qwizard.cpp:139
#define Q_D(Class)
Definition: qglobal.h:2482
const char * className
Definition: qwizard.cpp:137
QVariant property(const char *name) const
Returns the value of the object&#39;s name property.
Definition: qobject.cpp:3807
int qstrcmp(const QByteArray &str1, const char *str2)
Definition: qbytearray.cpp:336
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setField()

void QWizard::setField ( const QString name,
const QVariant 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.

See also
QWizardPage::registerField(), QWizardPage::setField(), field()

Definition at line 2522 of file qwizard.cpp.

2523 {
2524  Q_D(QWizard);
2525 
2526  int index = d->fieldIndexMap.value(name, -1);
2527  if (index != -1) {
2528  const QWizardField &field = d->fields.at(index);
2529  if (!field.object->setProperty(field.property, value))
2530  qWarning("QWizard::setField: Couldn't write to property '%s'",
2531  field.property.constData());
2532  return;
2533  }
2534 
2535  qWarning("QWizard::setField: No such field '%s'", qPrintable(name));
2536 }
double d
Definition: qnumeric_p.h:62
bool setProperty(const char *name, const QVariant &value)
Sets the value of the object&#39;s name property to value.
Definition: qobject.cpp:3755
QByteArray property
Definition: qwizard.cpp:178
QVariant field(const QString &name) const
Returns the value of the field called name.
Definition: qwizard.cpp:2545
#define Q_D(Class)
Definition: qglobal.h:2482
Q_CORE_EXPORT void qWarning(const char *,...)
const char * constData() const
Returns a pointer to the data stored in the byte array.
Definition: qbytearray.h:433
QObject * object
Definition: qwizard.cpp:177
quint16 index
#define qPrintable(string)
Definition: qglobal.h:1750
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setOption()

void QWizard::setOption ( WizardOption  option,
bool  on = true 
)

Sets the given option to be enabled if on is true; otherwise, clears the given option.

See also
options, testOption(), setWizardStyle()

Definition at line 2617 of file qwizard.cpp.

2618 {
2619  Q_D(QWizard);
2620  if (!(d->opts & option) != !on)
2621  setOptions(d->opts ^ option);
2622 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
void setOptions(WizardOptions options)
Definition: qwizard.cpp:2653
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setOptions()

void QWizard::setOptions ( WizardOptions  options)

Definition at line 2653 of file qwizard.cpp.

Referenced by setOption().

2654 {
2655  Q_D(QWizard);
2656 
2657  WizardOptions changed = (options ^ d->opts);
2658  if (!changed)
2659  return;
2660 
2661  d->disableUpdates();
2662 
2663  d->opts = options;
2664  if ((changed & IndependentPages) && !(d->opts & IndependentPages))
2665  d->cleanupPagesNotInHistory();
2666 
2669  | HaveCustomButton3)) {
2670  d->updateButtonLayout();
2671  } else if (changed & (NoBackButtonOnStartPage | NoBackButtonOnLastPage
2674  d->_q_updateButtonStates();
2675  }
2676 
2677  d->enableUpdates();
2678  d->updateLayout();
2679 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
WizardOptions options() const
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setPage()

void QWizard::setPage ( int  id,
QWizardPage page 
)

Adds the given page to the wizard with the given id.

Note
Adding a page may influence the value of the startId property in case it was not set explicitly.
See also
addPage(), page(), pageAdded()

Definition at line 2262 of file qwizard.cpp.

Referenced by addPage().

2263 {
2264  Q_D(QWizard);
2265 
2266  if (!page) {
2267  qWarning("QWizard::setPage: Cannot insert null page");
2268  return;
2269  }
2270 
2271  if (theid == -1) {
2272  qWarning("QWizard::setPage: Cannot insert page with ID -1");
2273  return;
2274  }
2275 
2276  if (d->pageMap.contains(theid)) {
2277  qWarning("QWizard::setPage: Page with duplicate ID %d ignored", theid);
2278  return;
2279  }
2280 
2281  page->setParent(d->pageFrame);
2282 
2283  QVector<QWizardField> &pendingFields = page->d_func()->pendingFields;
2284  for (int i = 0; i < pendingFields.count(); ++i)
2285  d->addField(pendingFields.at(i));
2286  pendingFields.clear();
2287 
2288  connect(page, SIGNAL(completeChanged()), this, SLOT(_q_updateButtonStates()));
2289 
2290  d->pageMap.insert(theid, page);
2291  page->d_func()->wizard = this;
2292 
2293  int n = d->pageVBoxLayout->count();
2294 
2295  // disable layout to prevent layout updates while adding
2296  bool pageVBoxLayoutEnabled = d->pageVBoxLayout->isEnabled();
2297  d->pageVBoxLayout->setEnabled(false);
2298 
2299  d->pageVBoxLayout->insertWidget(n - 1, page);
2300 
2301  // hide new page and reset layout to old status
2302  page->hide();
2303  d->pageVBoxLayout->setEnabled(pageVBoxLayoutEnabled);
2304 
2305  if (!d->startSetByUser && d->pageMap.constBegin().key() == theid)
2306  d->start = theid;
2307  emit pageAdded(theid);
2308 }
double d
Definition: qnumeric_p.h:62
void setParent(QWidget *parent)
Sets the parent of the widget to parent, and resets the window flags.
Definition: qwidget.cpp:10479
int count(const T &t) const
Returns the number of occurrences of value in the vector.
Definition: qvector.h:742
void pageAdded(int id)
This signal is emitted whenever a page is added to the wizard.
#define SLOT(a)
Definition: qobjectdefs.h:226
#define Q_D(Class)
Definition: qglobal.h:2482
#define SIGNAL(a)
Definition: qobjectdefs.h:227
void clear()
Removes all the elements from the vector and releases the memory used by the vector.
Definition: qvector.h:347
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
#define emit
Definition: qobjectdefs.h:76
Q_CORE_EXPORT void qWarning(const char *,...)
void hide()
Hides the widget.
Definition: qwidget.h:501
const T & at(int i) const
Returns the item at index position i in the vector.
Definition: qvector.h:350
QWizard * wizard() const
Returns the wizard associated with this page, or 0 if this page hasn&#39;t been inserted into a QWizard y...
Definition: qwizard.cpp:4023
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setPixmap()

void QWizard::setPixmap ( WizardPixmap  which,
const 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 Look and Feel{wizard style}.

Pixmaps can also be set for a specific page using QWizardPage::setPixmap().

See also
QWizardPage::setPixmap(), {Elements of a Wizard Page}

Definition at line 2901 of file qwizard.cpp.

2902 {
2903  Q_D(QWizard);
2904  Q_ASSERT(uint(which) < NPixmaps);
2905  d->defaultPixmaps[which] = pixmap;
2906  d->updatePixmap(which);
2907 }
double d
Definition: qnumeric_p.h:62
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define Q_D(Class)
Definition: qglobal.h:2482
unsigned int uint
Definition: qglobal.h:996
QPixmap pixmap(WizardPixmap which) const
Returns the pixmap set for role which.
Definition: qwizard.cpp:2917
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setSideWidget()

void QWizard::setSideWidget ( QWidget widget)

Sets the given widget to be shown on the left side of the wizard.

Since
4.7

For styles which use the WatermarkPixmap (ClassicStyle and ModernStyle) the side widget is displayed on top of the watermark, for other styles or when the watermark is not provided the side widget is displayed on the left side of the wizard.

Passing 0 shows no side widget.

When the widget is not 0 the wizard reparents it.

Any previous side widget is hidden.

You may call setSideWidget() with the same widget at different times.

All widgets set here will be deleted by the wizard when it is destroyed unless you separately reparent the widget after setting some other side widget (or 0).

By default, no side widget is present.

Definition at line 2993 of file qwizard.cpp.

2994 {
2995  Q_D(QWizard);
2996 
2997  d->sideWidget = widget;
2998  if (d->watermarkLabel) {
2999  d->watermarkLabel->setSideWidget(widget);
3000  d->updateLayout();
3001  }
3002 }
double d
Definition: qnumeric_p.h:62
QPointer< QWidget > widget
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setStartId()

void QWizard::setStartId ( int  id)

Definition at line 2454 of file qwizard.cpp.

2455 {
2456  Q_D(QWizard);
2457  int newStart = theid;
2458  if (theid == -1)
2459  newStart = d->pageMap.count() ? d->pageMap.constBegin().key() : -1;
2460 
2461  if (d->start == newStart) {
2462  d->startSetByUser = theid != -1;
2463  return;
2464  }
2465 
2466  if (!d->pageMap.contains(newStart)) {
2467  qWarning("QWizard::setStartId: Invalid page ID %d", newStart);
2468  return;
2469  }
2470  d->start = newStart;
2471  d->startSetByUser = theid != -1;
2472 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
Q_CORE_EXPORT void qWarning(const char *,...)
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setSubTitleFormat()

void QWizard::setSubTitleFormat ( Qt::TextFormat  format)

Definition at line 2876 of file qwizard.cpp.

2877 {
2878  Q_D(QWizard);
2879  d->subTitleFmt = format;
2880  d->updateLayout();
2881 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setTitleFormat()

void QWizard::setTitleFormat ( Qt::TextFormat  format)

Definition at line 2852 of file qwizard.cpp.

2853 {
2854  Q_D(QWizard);
2855  d->titleFmt = format;
2856  d->updateLayout();
2857 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setVisible()

void QWizard::setVisible ( bool  visible)
virtual

Reimplemented Function

Reimplemented from QDialog.

Definition at line 3024 of file qwizard.cpp.

3025 {
3026  Q_D(QWizard);
3027  if (visible) {
3028  if (d->current == -1)
3029  restart();
3030  }
3032 }
void restart()
Restarts the wizard at the start page.
Definition: qwizard.cpp:3204
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
bool visible
whether the widget is visible
Definition: qwidget.h:191
void setVisible(bool visible)
Reimplemented Function
Definition: qdialog.cpp:756
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ setWizardStyle()

void QWizard::setWizardStyle ( WizardStyle  style)

Definition at line 2574 of file qwizard.cpp.

Referenced by winEvent().

2575 {
2576  Q_D(QWizard);
2577 
2578  const bool styleChange = style != d->wizStyle;
2579 
2580 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
2581  const bool aeroStyleChange =
2582  d->vistaInitPending || d->vistaStateChanged || (styleChange && (style == AeroStyle || d->wizStyle == AeroStyle));
2583  d->vistaStateChanged = false;
2584  d->vistaInitPending = false;
2585 #endif
2586 
2587  if (styleChange
2588 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
2589  || aeroStyleChange
2590 #endif
2591  ) {
2592  d->disableUpdates();
2593  d->wizStyle = style;
2594  d->updateButtonTexts();
2595  d->updateLayout();
2596  updateGeometry();
2597  d->enableUpdates();
2598 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
2599  if (aeroStyleChange)
2600  d->handleAeroStyleChange();
2601 #endif
2602  }
2603 }
double d
Definition: qnumeric_p.h:62
virtual void styleChange(QStyle &)
Definition: qwidget.cpp:12000
#define Q_D(Class)
Definition: qglobal.h:2482
QStyle * style() const
Definition: qwidget.cpp:2742
#define QT_NO_STYLE_WINDOWSVISTA
void updateGeometry()
Notifies the layout system that this widget has changed and may need to change geometry.
Definition: qwidget.cpp:10372
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ sideWidget()

QWidget * QWizard::sideWidget ( ) const

Returns the widget on the left side of the wizard or 0.

Since
4.7

By default, no side widget is present.

Definition at line 3014 of file qwizard.cpp.

3015 {
3016  Q_D(const QWizard);
3017 
3018  return d->sideWidget;
3019 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ sizeHint()

QSize QWizard::sizeHint ( ) const
virtual

Reimplemented Function

Reimplemented from QDialog.

Definition at line 3037 of file qwizard.cpp.

3038 {
3039  Q_D(const QWizard);
3040  QSize result = d->mainLayout->totalSizeHint();
3041 #ifdef Q_WS_S60
3042  QSize extra(QApplication::desktop()->availableGeometry(QCursor::pos()).size());
3043 #else
3044  QSize extra(500, 360);
3045 #endif
3046  if (d->wizStyle == MacStyle && d->current != -1) {
3048  extra.setWidth(616);
3049  if (!pixmap.isNull()) {
3050  extra.setHeight(pixmap.height());
3051 
3052  /*
3053  The width isn't always reliable as a size hint, as
3054  some wizard backgrounds just cover the leftmost area.
3055  Use a rule of thumb to determine if the width is
3056  reliable or not.
3057  */
3058  if (pixmap.width() >= pixmap.height())
3059  extra.setWidth(pixmap.width());
3060  }
3061  }
3062  return result.expandedTo(extra);
3063 }
double d
Definition: qnumeric_p.h:62
int width() const
Returns the width of the pixmap.
Definition: qpixmap.cpp:630
QSize size() const
QSize expandedTo(const QSize &) const
Returns a size holding the maximum width and height of this size and the given otherSize.
Definition: qsize.h:187
#define Q_D(Class)
Definition: qglobal.h:2482
QPixmap pixmap(WizardPixmap which) const
Returns the pixmap set for role which.
Definition: qwizard.cpp:2917
QWizardPage * currentPage() const
Returns a pointer to the current page, or 0 if there is no current page (e.g., before the wizard is s...
Definition: qwizard.cpp:2488
static QDesktopWidget * desktop()
Returns the desktop widget (also called the root window).
int result() const
In general returns the modal dialog&#39;s result code, Accepted or Rejected.
Definition: qdialog.cpp:458
int height() const
Returns the height of the pixmap.
Definition: qpixmap.cpp:645
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
bool isNull() const
Returns true if this is a null pixmap; otherwise returns false.
Definition: qpixmap.cpp:615
static QPoint pos()
Returns the position of the cursor (hot spot) in global screen coordinates.
Definition: qcursor_mac.mm:310
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ startId()

int QWizard::startId ( ) const

Referenced by restart(), and setStartId().

◆ subTitleFormat()

Qt::TextFormat QWizard::subTitleFormat ( ) const

Referenced by setSubTitleFormat().

◆ testOption()

bool QWizard::testOption ( WizardOption  option) const

Returns true if the given option is enabled; otherwise, returns false.

See also
options, setOption(), setWizardStyle()

Definition at line 2630 of file qwizard.cpp.

2631 {
2632  Q_D(const QWizard);
2633  return (d->opts & option) != 0;
2634 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ titleFormat()

Qt::TextFormat QWizard::titleFormat ( ) const

Referenced by setTitleFormat().

◆ validateCurrentPage()

bool QWizard::validateCurrentPage ( )
virtual

This virtual function is called by QWizard 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 calls QWizardPage::validatePage() on the currentPage().

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

See also
QWizardPage::validatePage(), currentPage()

Definition at line 3401 of file qwizard.cpp.

Referenced by done(), and next().

3402 {
3404  if (!page)
3405  return true;
3406 
3407  return page->validatePage();
3408 }
The QWizardPage class is the base class for wizard pages.
Definition: qwizard.h:214
virtual bool validatePage()
This virtual function is called by QWizard::validateCurrentPage() when the user clicks Next or Finish...
Definition: qwizard.cpp:3688
QWizardPage * page(int id) const
Returns the page with the given id, or 0 if there is no such page.
Definition: qwizard.cpp:2392
QWizardPage * currentPage() const
Returns a pointer to the current page, or 0 if there is no current page (e.g., before the wizard is s...
Definition: qwizard.cpp:2488

◆ visitedPages()

QList< int > QWizard::visitedPages ( ) const

Returns the list of IDs of visited pages, in the order in which the pages were visited.

Pressing Back marks the current page as "unvisited" again.

See also
hasVisitedPage()

Definition at line 2425 of file qwizard.cpp.

2426 {
2427  Q_D(const QWizard);
2428  return d->history;
2429 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ winEvent()

bool QWizard::winEvent ( MSG message,
long *  result 
)
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 3300 of file qwizard.cpp.

3301 {
3302 #if !defined(QT_NO_STYLE_WINDOWSVISTA)
3303  Q_D(QWizard);
3304  if (d->isVistaThemeEnabled()) {
3305  const bool winEventResult = d->vistaHelper->handleWinEvent(message, result);
3306  if (QVistaHelper::vistaState() != d->vistaState) {
3307  d->vistaState = QVistaHelper::vistaState();
3308  d->vistaStateChanged = true;
3310  }
3311  return winEventResult;
3312  } else {
3313  return QDialog::winEvent(message, result);
3314  }
3315 #else
3316  return QDialog::winEvent(message, result);
3317 #endif
3318 }
double d
Definition: qnumeric_p.h:62
void setWizardStyle(WizardStyle style)
Definition: qwizard.cpp:2574
static VistaState vistaState()
#define Q_D(Class)
Definition: qglobal.h:2482
virtual bool winEvent(MSG *message, long *result)
This special event handler can be reimplemented in a subclass to receive native Windows events which ...
Definition: qwidget.cpp:9941
int result() const
In general returns the modal dialog&#39;s result code, Accepted or Rejected.
Definition: qdialog.cpp:458
The QWizard class provides a framework for wizards.
Definition: qwizard.h:59

◆ wizardStyle()

WizardStyle QWizard::wizardStyle ( ) const

Referenced by setWizardStyle().

Friends and Related Functions

◆ QWizardPage

friend class QWizardPage
friend

Definition at line 207 of file qwizard.h.

Properties

◆ currentId

int QWizard::currentId
private

the ID of the current page

This property cannot be set directly. To change the current page, call next(), back(), or restart().

By default, this property has a value of -1, indicating that no page is currently shown.

See also
currentIdChanged(), currentPage()

Definition at line 69 of file qwizard.h.

◆ options

QWizard::WizardOptions QWizard::options
private

the various options that affect the look and feel of the wizard

By default, the following options are set (depending on the platform):

  • Windows: HelpButtonOnRight.
  • Mac OS X: NoDefaultButton and NoCancelButton.
  • X11 and QWS (Qt for Embedded Linux): none.
See also
wizardStyle

Definition at line 65 of file qwizard.h.

◆ startId

int QWizard::startId
private

the ID of the first page

If this property isn't explicitly set, this property defaults to the lowest page ID in this wizard, or -1 if no page has been inserted yet.

See also
restart(), nextId()

Definition at line 68 of file qwizard.h.

◆ subTitleFormat

Qt::TextFormat QWizard::subTitleFormat
private

the text format used by page subtitles

The default format is Qt::AutoText.

See also
QWizardPage::title, titleFormat

Definition at line 67 of file qwizard.h.

◆ titleFormat

Qt::TextFormat QWizard::titleFormat
private

the text format used by page titles

The default format is Qt::AutoText.

See also
QWizardPage::title, subTitleFormat

Definition at line 66 of file qwizard.h.

◆ wizardStyle

QWizard::WizardStyle QWizard::wizardStyle
private

the look and feel of the wizard

By default, QWizard uses the AeroStyle on a Windows Vista system with alpha compositing enabled, regardless of the current widget style. If this is not the case, the default wizard style depends on the current widget style as follows: MacStyle is the default if the current widget style is QMacStyle, ModernStyle is the default if the current widget style is QWindowsStyle, and ClassicStyle is the default in all other cases.

See also
{Wizard Look and Feel}, options

Definition at line 64 of file qwizard.h.

Referenced by QVistaHelper::handleWinEvent().


The documentation for this class was generated from the following files: