|  | Home · All Namespaces · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# QInputDialog Class Reference
[QtGui module]

The QInputDialog class provides a simple convenience dialog to get a single value from the user. More...

     #include <QInputDialog>

Inherits QDialog.

- List of all members, including inherited members
- Obsolete members
- Qt 3 support members

### Public Types

- enum InputDialogOption { NoButtons, UseListViewForComboBoxItems }
- flags InputDialogOptions
- enum InputMode { TextInput, IntInput, DoubleInput }

### Properties

cancelButtonText : QString comboBoxEditable : bool comboBoxItems : QStringList doubleDecimals : int doubleMaximum : double doubleMinimum : double doubleValue : int inputMode : InputMode intMaximum : int | intMinimum : int intStep : int intValue : int labelText : QString okButtonText : QString options : InputDialogOptions textEchoMode : QLineEdit::EchoMode textValue : QString

- 2 properties inherited from QDialog
- 57 properties inherited from QWidget
- 1 property inherited from QObject

### Public Functions

- QInputDialog ( QWidget * parent = 0, Qt::WindowFlags flags = 0 )
- ~QInputDialog ()
- QString cancelButtonText () const
- QStringList comboBoxItems () const
- virtual void done ( int result )
- int doubleDecimals () const
- double doubleMaximum () const
- double doubleMinimum () const
- double doubleValue () const
- InputMode inputMode () const
- int intMaximum () const
- int intMinimum () const
- int intStep () const
- int intValue () const
- bool isComboBoxEditable () const
- QString labelText () const
- QString okButtonText () const
- void open ( QObject * receiver, const char * member )
- InputDialogOptions options () const
- void setCancelButtonText ( const QString & text )
- void setComboBoxEditable ( bool editable )
- void setComboBoxItems ( const QStringList & items )
- void setDoubleDecimals ( int decimals )
- void setDoubleMaximum ( double max )
- void setDoubleMinimum ( double min )
- void setDoubleRange ( double min, double max )
- void setDoubleValue ( double value )
- void setInputMode ( InputMode mode )
- void setIntMaximum ( int max )
- void setIntMinimum ( int min )
- void setIntRange ( int min, int max )
- void setIntStep ( int step )
- void setIntValue ( int value )
- void setLabelText ( const QString & text )
- void setOkButtonText ( const QString & text )
- void setOption ( InputDialogOption option, bool on = true )
- void setOptions ( InputDialogOptions options )
- void setTextEchoMode ( QLineEdit::EchoMode mode )
- void setTextValue ( const QString & text )
- bool testOption ( InputDialogOption option ) const
- QLineEdit::EchoMode textEchoMode () const
- QString textValue () const

- 5 public functions inherited from QDialog
- 207 public functions inherited from QWidget
- 29 public functions inherited from QObject
- 14 public functions inherited from QPaintDevice

### Signals

- void doubleValueChanged ( double value )
- void doubleValueSelected ( double value )
- void intValueChanged ( int value )
- void intValueSelected ( int value )
- void textValueChanged ( const QString & text )
- void textValueSelected ( const QString & text )

- 3 signals inherited from QDialog
- 1 signal inherited from QWidget
- 1 signal inherited from QObject

### Static Public Members

- double getDouble ( QWidget * parent, const QString & title, const QString & label, double value = 0, double min = -2147483647, double max = 2147483647, int decimals = 1, bool * ok = 0, Qt::WindowFlags flags = 0 )
- int getInt ( QWidget * parent, const QString & title, const QString & label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool * ok = 0, Qt::WindowFlags flags = 0 )
- QString getItem ( QWidget * parent, const QString & title, const QString & label, const QStringList & items, int current = 0, bool editable = true, bool * ok = 0, Qt::WindowFlags flags = 0 )
- QString getText ( QWidget * parent, const QString & title, const QString & label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString(), bool * ok = 0, Qt::WindowFlags flags = 0 )

- 4 static public members inherited from QWidget
- 5 static public members inherited from QObject
- 1 static public member inherited from QPaintDevice

### Additional Inherited Members

- 5 public slots inherited from QDialog
- 19 public slots inherited from QWidget
- 1 public slot inherited from QObject
- 37 protected functions inherited from QWidget
- 7 protected functions inherited from QObject
- 1 protected function inherited from QPaintDevice
- 1 protected slot inherited from QWidget

## Detailed Description

The QInputDialog class provides a simple convenience dialog to get a single value from the user.

The input value can be a string, a number or an item from a list. A label must be set to tell the user what they should enter.

Four static convenience functions are provided: getText(), getInt(), getDouble(), and getItem(). All the functions can be used in a similar way, for example:

         bool ok;
         QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),
                                              tr("User name:"), QLineEdit::Normal,
                                              QDir::home().dirName(), &ok);
         if (ok && !text.isEmpty())
             textLabel->setText(text);

The `ok` variable is set to true if the user clicks OK; otherwise it is set to false.

The Standard Dialogs example shows how to use QInputDialog as well as other built-in Qt dialogs.

See also QMessageBox and Standard Dialogs Example.

## Member Type Documentation

### enum QInputDialog::InputDialogOption
flags QInputDialog::InputDialogOptions

This enum specifies various options that affect the look and feel of an input dialog.

Constant | Value | Description
--- | --- | ---
`QInputDialog::NoButtons` | `0x00000001` | Don't display OK and Cancel buttons. (Useful for "live dialogs".)
`QInputDialog::UseListViewForComboBoxItems` | `0x00000002` | Use a QListView rather than a non-editable QComboBox for displaying the items set with setComboBoxItems().

This enum was introduced in Qt 4.5.

The InputDialogOptions type is a typedef for QFlags<InputDialogOption>. It stores an OR combination of InputDialogOption values.

See also options, setOption(), and testOption().

### enum QInputDialog::InputMode

This enum describes the different modes of input that can be selected for the dialog.

Constant | Value | Description
--- | --- | ---
`QInputDialog::TextInput` | `0` | Used to input text strings.
`QInputDialog::IntInput` | `1` | Used to input integers.
`QInputDialog::DoubleInput` | `2` | Used to input floating point numbers with double precision accuracy.

This enum was introduced in Qt 4.5.

See also inputMode.

## Property Documentation

### cancelButtonText : QString

This property holds the text for the button used to cancel the dialog.

This property was introduced in Qt 4.5.

Access functions:

- QString cancelButtonText () const
- void setCancelButtonText ( const QString & text )

### comboBoxEditable : bool

This property holds whether or not the combo box is used in the input dialog is editable.

This property was introduced in Qt 4.5.

Access functions:

- bool isComboBoxEditable () const
- void setComboBoxEditable ( bool editable )

### comboBoxItems : QStringList

This property holds the items used in the combobox for the input dialog.

This property was introduced in Qt 4.5.

Access functions:

- QStringList comboBoxItems () const
- void setComboBoxItems ( const QStringList & items )

### doubleDecimals : int

This property holds sets the percision of the double spinbox in decimals.

This property was introduced in Qt 4.5.

Access functions:

- int doubleDecimals () const
- void setDoubleDecimals ( int decimals )

See also QDoubleSpinBox::setDecimals().

### doubleMaximum : double

This property holds the maximum double precision floating point value accepted as input.

This property is only relevant when the input dialog is used in DoubleInput mode.

This property was introduced in Qt 4.5.

Access functions:

- double doubleMaximum () const
- void setDoubleMaximum ( double max )

### doubleMinimum : double

This property holds the minimum double precision floating point value accepted as input.

This property is only relevant when the input dialog is used in DoubleInput mode.

This property was introduced in Qt 4.5.

Access functions:

- double doubleMinimum () const
- void setDoubleMinimum ( double min )

### doubleValue : int

This property holds the current double precision floating point value accepted as input.

This property is only relevant when the input dialog is used in DoubleInput mode.

This property was introduced in Qt 4.5.

Access functions:

- double doubleValue () const
- void setDoubleValue ( double value )

### inputMode : InputMode

This property holds the mode used for input.

This property help determines which widget is used for entering input into the dialog.

This property was introduced in Qt 4.5.

Access functions:

- InputMode inputMode () const
- void setInputMode ( InputMode mode )

### intMaximum : int

This property holds the maximum integer value accepted as input.

This property is only relevant when the input dialog is used in IntInput mode.

This property was introduced in Qt 4.5.

Access functions:

- int intMaximum () const
- void setIntMaximum ( int max )

### intMinimum : int

This property holds the minimum integer value accepted as input.

This property is only relevant when the input dialog is used in IntInput mode.

This property was introduced in Qt 4.5.

Access functions:

- int intMinimum () const
- void setIntMinimum ( int min )

### intStep : int

This property holds the step by which the integer value is increased and decreased.

This property is only relevant when the input dialog is used in IntInput mode.

This property was introduced in Qt 4.5.

Access functions:

- int intStep () const
- void setIntStep ( int step )

### intValue : int

This property holds the current integer value accepted as input.

This property is only relevant when the input dialog is used in IntInput mode.

This property was introduced in Qt 4.5.

Access functions:

- int intValue () const
- void setIntValue ( int value )

### labelText : QString

This property holds the text to for the label to describe what needs to be input.

This property was introduced in Qt 4.5.

Access functions:

- QString labelText () const
- void setLabelText ( const QString & text )

### okButtonText : QString

This property holds the text for the button used to accept the entry in the dialog.

This property was introduced in Qt 4.5.

Access functions:

- QString okButtonText () const
- void setOkButtonText ( const QString & text )

### options : InputDialogOptions

This property holds the various options that affect the look and feel of the dialog.

By default, all options are disabled.

This property was introduced in Qt 4.5.

Access functions:

- InputDialogOptions options () const
- void setOptions ( InputDialogOptions options )

See also setOption() and testOption().

### textEchoMode : QLineEdit::EchoMode

This property holds the echo mode for the text value.

This property is only relevant when the input dialog is used in TextInput mode.

This property was introduced in Qt 4.5.

Access functions:

- QLineEdit::EchoMode textEchoMode () const
- void setTextEchoMode ( QLineEdit::EchoMode mode )

### textValue : QString

This property holds the text value for the input dialog.

This property is only relevant when the input dialog is used in TextInput mode.

This property was introduced in Qt 4.5.

Access functions:

- QString textValue () const
- void setTextValue ( const QString & text )

## Member Function Documentation

### QInputDialog::QInputDialog ( QWidget * parent = 0, Qt::WindowFlags flags = 0 )

Constructs a new input dialog with the given parent and window flags.

This function was introduced in Qt 4.5.

### QInputDialog::~QInputDialog ()

Destroys the input dialog.

This function was introduced in Qt 4.5.

### void QInputDialog::done ( int result ) `[virtual]`

Closes the dialog and sets its result code to result. If this dialog is shown with exec(), done() causes the local event loop to finish, and exec() to return result.

Reimplemented from QDialog.

See also QDialog::done().

### void QInputDialog::doubleValueChanged ( double value ) `[signal]`

This signal is emitted whenever the double value changes in the dialog. The current value is specified by value.

This signal is only relevant when the input dialog is used in DoubleInput mode.

### void QInputDialog::doubleValueSelected ( double value ) `[signal]`

This signal is emitted whenever the user selects a double value by accepting the dialog; for example, by clicking the OK button. The selected value is specified by value.

This signal is only relevant when the input dialog is used in DoubleInput mode.

### double QInputDialog::getDouble ( QWidget * parent, const QString & title, const QString & label, double value = 0, double min = -2147483647, double max = 2147483647, int decimals = 1, bool * ok = 0, Qt::WindowFlags flags = 0 ) `[static]`

Static convenience function to get a floating point number from the user.

title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). value is the default floating point number that the line edit will be set to. min and max are the minimum and maximum values the user may choose. decimals is the maximum number of decimal places the number may have.

If ok is nonnull, *ok will be set to true if the user pressed OK and to false if the user pressed Cancel. The dialog's parent is parent. The dialog will be modal and uses the widget flags.

This function returns the floating point number which has been entered by the user.

Use this static function like this:

         bool ok;
         double d = QInputDialog::getDouble(this, tr("QInputDialog::getDouble()"),
                                            tr("Amount:"), 37.56, -10000, 10000, 2, &ok);
         if (ok)
             doubleLabel->setText(QString("$%1").arg(d));

Warning: Do not delete parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog constructors.

See also getText(), getInt(), and getItem().

### int QInputDialog::getInt ( QWidget * parent, const QString & title, const QString & label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool * ok = 0, Qt::WindowFlags flags = 0 ) `[static]`

Static convenience function to get an integer input from the user.

title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). value is the default integer which the spinbox will be set to. min and max are the minimum and maximum values the user may choose. step is the amount by which the values change as the user presses the arrow buttons to increment or decrement the value.

If ok is nonnull *ok will be set to true if the user pressed OK and to false if the user pressed Cancel. The dialog's parent is parent. The dialog will be modal and uses the widget flags.

On success, this function returns the integer which has been entered by the user; on failure, it returns the initial value.

Use this static function like this:

         bool ok;
         int i = QInputDialog::getInt(this, tr("QInputDialog::getInteger()"),
                                      tr("Percentage:"), 25, 0, 100, 1, &ok);
         if (ok)
             integerLabel->setText(tr("%1%").arg(i));

Warning: Do not delete parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog constructors.

This function was introduced in Qt 4.5.

See also getText(), getDouble(), and getItem().

### QString QInputDialog::getItem ( QWidget * parent, const QString & title, const QString & label, const QStringList & items, int current = 0, bool editable = true, bool * ok = 0, Qt::WindowFlags flags = 0 ) `[static]`

Static convenience function to let the user select an item from a string list.

title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). items is the string list which is inserted into the combobox. current is the number of the item which should be the current item.

If editable is true the user can enter their own text; otherwise the user may only select one of the existing items.

If ok is nonnull *a ok will be set to true if the user pressed OK and to false if the user pressed Cancel. The dialog's parent is parent. The dialog will be modal and uses the widget flags.

This function returns the text of the current item, or if editable is true, the current text of the combobox.

Use this static function like this:

         QStringList items;
         items << tr("Spring") << tr("Summer") << tr("Fall") << tr("Winter");

         bool ok;
         QString item = QInputDialog::getItem(this, tr("QInputDialog::getItem()"),
                                              tr("Season:"), items, 0, false, &ok);
         if (ok && !item.isEmpty())
             itemLabel->setText(item);

Warning: Do not delete parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog constructors.

See also getText(), getInt(), and getDouble().

### QString QInputDialog::getText ( QWidget * parent, const QString & title, const QString & label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString(), bool * ok = 0, Qt::WindowFlags flags = 0 ) `[static]`

Static convenience function to get a string from the user.

title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). text is the default text which is placed in the line edit. mode is the echo mode the line edit will use.

If ok is nonnull *a ok will be set to true if the user pressed OK and to false if the user pressed Cancel. The dialog's parent is parent. The dialog will be modal and uses the specified widget flags.

This function returns the text which has been entered in the line edit. It will not return an empty string.

Use this static function like this:

         bool ok;
         QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),
                                              tr("User name:"), QLineEdit::Normal,
                                              QDir::home().dirName(), &ok);
         if (ok && !text.isEmpty())
             textLabel->setText(text);

Warning: Do not delete parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog constructors.

See also getInt(), getDouble(), and getItem().

### void QInputDialog::intValueChanged ( int value ) `[signal]`

This signal is emitted whenever the integer value changes in the dialog. The current value is specified by value.

This signal is only relevant when the input dialog is used in IntInput mode.

### void QInputDialog::intValueSelected ( int value ) `[signal]`

This signal is emitted whenever the user selects a integer value by accepting the dialog; for example, by clicking the OK button. The selected value is specified by value.

This signal is only relevant when the input dialog is used in IntInput mode.

### void QInputDialog::open ( QObject * receiver, const char * member )

This is an overloaded member function, provided for convenience.

Opens the dialog and connects its accepted() signal to the slot specified by receiver and member.

The signal will be disconnected from the slot when the dialog is closed.

This function was introduced in Qt 4.5.

### void QInputDialog::setDoubleRange ( double min, double max )

Sets the range of double precision floating point values accepted by the dialog when used in DoubleInput mode, with minimum and maximum values specified by min and max respectively.

### void QInputDialog::setIntRange ( int min, int max )

Sets the range of integer values accepted by the dialog when used in IntInput mode, with minimum and maximum values specified by min and max respectively.

### void QInputDialog::setOption ( InputDialogOption option, bool on = true )

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

See also options and testOption().

### bool QInputDialog::testOption ( InputDialogOption option ) const

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

See also options and setOption().

### void QInputDialog::textValueChanged ( const QString & text ) `[signal]`

This signal is emitted whenever the text string changes in the dialog. The current string is specified by text.

This signal is only relevant when the input dialog is used in TextInput mode.

### void QInputDialog::textValueSelected ( const QString & text ) `[signal]`

This signal is emitted whenever the user selects a text string by accepting the dialog; for example, by clicking the OK button. The selected string is specified by text.

This signal is only relevant when the input dialog is used in TextInput mode.