QInputDialog

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

Inheritance diagram of PySide2.QtWidgets.QInputDialog

Synopsis

Functions

Signals

Static functions

  • def getDouble (parent, title, label, value, minValue, maxValue, decimals, flags, step)

  • def getDouble (parent, title, label[, value=0[, minValue=-2147483647[, maxValue=2147483647[, decimals=1[, flags=Qt.WindowFlags()]]]]])

  • def getInt (parent, title, label[, value=0[, minValue=-2147483647[, maxValue=2147483647[, step=1[, flags=Qt.WindowFlags()]]]]])

  • def getItem (parent, title, label, items[, current=0[, editable=true[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]]])

  • def getMultiLineText (parent, title, label[, text=”“[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]])

  • def getText (parent, title, label[, echo=QLineEdit.Normal[, text=”“[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]]])

Detailed Description

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.

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

text = QInputDialog::getText(self, self.tr("QInputDialog().getText()"),
                                     self.tr("User name:"), QLineEdit.Normal,
                                     QDir().home().dirName(), ok)
if ok and text:
    textLabel.setText(text)

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

../../_images/inputdialogs.png

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

See also

QMessageBox Standard Dialogs Example

class QInputDialog([parent=None[, flags=Qt.WindowFlags()]])
param parent

QWidget

param flags

WindowFlags

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

PySide2.QtWidgets.QInputDialog.InputDialogOption

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

Constant

Description

QInputDialog.NoButtons

Don’t display OK and Cancel buttons (useful for “live dialogs”).

QInputDialog.UseListViewForComboBoxItems

Use a QListView rather than a non-editable QComboBox for displaying the items set with setComboBoxItems() .

QInputDialog.UsePlainTextEditForTextInput

Use a QPlainTextEdit for multiline text input. This value was introduced in 5.2.

See also

options setOption() testOption()

PySide2.QtWidgets.QInputDialog.InputMode

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

Constant

Description

QInputDialog.TextInput

Used to input text strings.

QInputDialog.IntInput

Used to input integers.

QInputDialog.DoubleInput

Used to input floating point numbers with double precision accuracy.

See also

inputMode

PySide2.QtWidgets.QInputDialog.cancelButtonText()
Return type

unicode

PySide2.QtWidgets.QInputDialog.comboBoxItems()
Return type

list of strings

PySide2.QtWidgets.QInputDialog.doubleDecimals()
Return type

int

PySide2.QtWidgets.QInputDialog.doubleMaximum()
Return type

double

PySide2.QtWidgets.QInputDialog.doubleMinimum()
Return type

double

PySide2.QtWidgets.QInputDialog.doubleStep()
Return type

double

See also

setDoubleStep()

PySide2.QtWidgets.QInputDialog.doubleValue()
Return type

double

See also

setDoubleValue()

PySide2.QtWidgets.QInputDialog.doubleValueChanged(value)
Parameters

valuedouble

PySide2.QtWidgets.QInputDialog.doubleValueSelected(value)
Parameters

valuedouble

static PySide2.QtWidgets.QInputDialog.getDouble(parent, title, label, value, minValue, maxValue, decimals, flags, step)
Parameters
  • parentQWidget

  • title – unicode

  • label – unicode

  • valuedouble

  • minValuedouble

  • maxValuedouble

  • decimalsint

  • flagsWindowFlags

  • stepdouble

Return type

double

This is an overloaded function.

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

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

Use this static function like this:

d = QInputDialog().getDouble(self, self.tr("QInputDialog().getDouble()"),
                                   self.tr("Amount:"), 37.56, -10000, 10000, 2, ok)
if ok:
    doubleLabel.setText(QString("$%1").arg(d))
static PySide2.QtWidgets.QInputDialog.getDouble(parent, title, label[, value=0[, minValue=-2147483647[, maxValue=2147483647[, decimals=1[, flags=Qt.WindowFlags()]]]]])
Parameters
  • parentQWidget

  • title – unicode

  • label – unicode

  • valuedouble

  • minValuedouble

  • maxValuedouble

  • decimalsint

  • flagsWindowFlags

Return type

double

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:

d = QInputDialog().getDouble(self, self.tr("QInputDialog().getDouble()"),
                                   self.tr("Amount:"), 37.56, -10000, 10000, 2, ok)
if ok:
    doubleLabel.setText(QString("$%1").arg(d))
static PySide2.QtWidgets.QInputDialog.getInt(parent, title, label[, value=0[, minValue=-2147483647[, maxValue=2147483647[, step=1[, flags=Qt.WindowFlags()]]]]])
Parameters
  • parentQWidget

  • title – unicode

  • label – unicode

  • valueint

  • minValueint

  • maxValueint

  • stepint

  • flagsWindowFlags

Return type

int

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:

i = QInputDialog().getInteger(self, self.tr("QInputDialog().getInteger()"),
                                 self.tr("Percentage:"), 25, 0, 100, 1, ok)
if ok:
    self.integerLabel.setText(self.tr("%1%").arg(i))
static PySide2.QtWidgets.QInputDialog.getItem(parent, title, label, items[, current=0[, editable=true[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]]])
Parameters
  • parentQWidget

  • title – unicode

  • label – unicode

  • items – list of strings

  • currentint

  • editablebool

  • flagsWindowFlags

  • inputMethodHintsInputMethodHints

Return type

unicode

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 combo box. current is the number of the item which should be the current item. inputMethodHints is the input method hints that will be used if the combo box is editable and an input method is active.

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 *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 combo box.

Use this static function like this:

items = [self.tr("Spring"), self.tr("Summer"), self.tr("Fall"), self.tr("Winter")]

item = QInputDialog().getItem(self, self.tr("QInputDialog().getItem()"),
                                     selftr("Season:"), items, 0, False, ok)
if ok and not item.isEmpty():
    itemLabel.setText(item)
static PySide2.QtWidgets.QInputDialog.getMultiLineText(parent, title, label[, text=""[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]])
Parameters
  • parentQWidget

  • title – unicode

  • label – unicode

  • text – unicode

  • flagsWindowFlags

  • inputMethodHintsInputMethodHints

Return type

unicode

Static convenience function to get a multiline 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 plain text edit. inputMethodHints is the input method hints that will be used in the edit widget if an input method is active.

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 specified widget flags .

If the dialog is accepted, this function returns the text in the dialog’s plain text edit. If the dialog is rejected, a null QString is returned.

Use this static function like this:

bool ok;
QString text = QInputDialog::getMultiLineText(this, tr("QInputDialog::getMultiLineText()"),
                                              tr("Address:"), "John Doe\nFreedom Street", &ok);
if (ok && !text.isEmpty())
    multiLineTextLabel->setText(text);
static PySide2.QtWidgets.QInputDialog.getText(parent, title, label[, echo=QLineEdit.Normal[, text=""[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]]])
Parameters
  • parentQWidget

  • title – unicode

  • label – unicode

  • echoEchoMode

  • text – unicode

  • flagsWindowFlags

  • inputMethodHintsInputMethodHints

Return type

unicode

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. inputMethodHints is the input method hints that will be used in the edit widget if an input method is active.

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 specified widget flags .

If the dialog is accepted, this function returns the text in the dialog’s line edit. If the dialog is rejected, a null QString is returned.

Use this static function like this:

text = QInputDialog::getText(self, self.tr("QInputDialog().getText()"),
                                     self.tr("User name:"), QLineEdit.Normal,
                                     QDir().home().dirName(), ok)
if ok and text:
    textLabel.setText(text)
PySide2.QtWidgets.QInputDialog.inputMode()
Return type

InputMode

See also

setInputMode()

PySide2.QtWidgets.QInputDialog.intMaximum()
Return type

int

See also

setIntMaximum()

PySide2.QtWidgets.QInputDialog.intMinimum()
Return type

int

See also

setIntMinimum()

PySide2.QtWidgets.QInputDialog.intStep()
Return type

int

See also

setIntStep()

PySide2.QtWidgets.QInputDialog.intValue()
Return type

int

See also

setIntValue()

PySide2.QtWidgets.QInputDialog.intValueChanged(value)
Parameters

valueint

PySide2.QtWidgets.QInputDialog.intValueSelected(value)
Parameters

valueint

PySide2.QtWidgets.QInputDialog.isComboBoxEditable()
Return type

bool

PySide2.QtWidgets.QInputDialog.labelText()
Return type

unicode

See also

setLabelText()

PySide2.QtWidgets.QInputDialog.okButtonText()
Return type

unicode

PySide2.QtWidgets.QInputDialog.open(receiver, member)
Parameters
  • receiverQObject

  • member – str

This function connects one of its signals to the slot specified by receiver and member . The specific signal depends on the arguments that are specified in member . These are:

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

PySide2.QtWidgets.QInputDialog.setCancelButtonText(text)
Parameters

text – unicode

PySide2.QtWidgets.QInputDialog.setComboBoxEditable(editable)
Parameters

editablebool

PySide2.QtWidgets.QInputDialog.setComboBoxItems(items)
Parameters

items – list of strings

See also

comboBoxItems()

PySide2.QtWidgets.QInputDialog.setDoubleDecimals(decimals)
Parameters

decimalsint

See also

doubleDecimals()

PySide2.QtWidgets.QInputDialog.setDoubleMaximum(max)
Parameters

maxdouble

See also

doubleMaximum()

PySide2.QtWidgets.QInputDialog.setDoubleMinimum(min)
Parameters

mindouble

See also

doubleMinimum()

PySide2.QtWidgets.QInputDialog.setDoubleRange(min, max)
Parameters
  • mindouble

  • maxdouble

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.

PySide2.QtWidgets.QInputDialog.setDoubleStep(step)
Parameters

stepdouble

See also

doubleStep()

PySide2.QtWidgets.QInputDialog.setDoubleValue(value)
Parameters

valuedouble

See also

doubleValue()

PySide2.QtWidgets.QInputDialog.setInputMode(mode)
Parameters

modeInputMode

See also

inputMode()

PySide2.QtWidgets.QInputDialog.setIntMaximum(max)
Parameters

maxint

See also

intMaximum()

PySide2.QtWidgets.QInputDialog.setIntMinimum(min)
Parameters

minint

See also

intMinimum()

PySide2.QtWidgets.QInputDialog.setIntRange(min, max)
Parameters
  • minint

  • maxint

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.

PySide2.QtWidgets.QInputDialog.setIntStep(step)
Parameters

stepint

See also

intStep()

PySide2.QtWidgets.QInputDialog.setIntValue(value)
Parameters

valueint

See also

intValue()

PySide2.QtWidgets.QInputDialog.setLabelText(text)
Parameters

text – unicode

See also

labelText()

PySide2.QtWidgets.QInputDialog.setOkButtonText(text)
Parameters

text – unicode

See also

okButtonText()

PySide2.QtWidgets.QInputDialog.setOption(option[, on=true])
Parameters

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

See also

options testOption()

PySide2.QtWidgets.QInputDialog.setTextEchoMode(mode)
Parameters

modeEchoMode

See also

textEchoMode()

PySide2.QtWidgets.QInputDialog.setTextValue(text)
Parameters

text – unicode

See also

textValue()

PySide2.QtWidgets.QInputDialog.testOption(option)
Parameters

optionInputDialogOption

Return type

bool

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

See also

options setOption()

PySide2.QtWidgets.QInputDialog.textEchoMode()
Return type

EchoMode

PySide2.QtWidgets.QInputDialog.textValue()
Return type

unicode

See also

setTextValue()

PySide2.QtWidgets.QInputDialog.textValueChanged(text)
Parameters

text – unicode

PySide2.QtWidgets.QInputDialog.textValueSelected(text)
Parameters

text – unicode