内容表

上一话题

QHeaderView

下一话题

QItemDelegate

QInputDialog

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

Inheritance diagram of PySide2.QtWidgets.QInputDialog

概要

静态函数

  • 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]]]])

详细描述

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() ,和 getItem() . All the functions can be used in a similar way, for example:

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

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

../../_images/inputdialogs.png

标准对话框 example shows how to use QInputDialog as well as other built-in Qt dialogs.

另请参阅

QMessageBox 标准对话框范例

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.

常量

描述

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.

另请参阅

options setOption() testOption()

PySide2.QtWidgets.QInputDialog. InputMode

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

常量

描述

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.

另请参阅

inputMode

PySide2.QtWidgets.QInputDialog. cancelButtonText ( )
返回类型

unicode

PySide2.QtWidgets.QInputDialog. comboBoxItems ( )
返回类型

字符串列表

PySide2.QtWidgets.QInputDialog. doubleDecimals ( )
返回类型

int

PySide2.QtWidgets.QInputDialog. doubleMaximum ( )
返回类型

double

PySide2.QtWidgets.QInputDialog. doubleMinimum ( )
返回类型

double

PySide2.QtWidgets.QInputDialog. doubleStep ( )
返回类型

double

另请参阅

setDoubleStep()

PySide2.QtWidgets.QInputDialog. doubleValue ( )
返回类型

double

另请参阅

setDoubleValue()

PySide2.QtWidgets.QInputDialog. doubleValueChanged ( value )
参数

value double

PySide2.QtWidgets.QInputDialog. doubleValueSelected ( value )
参数

value double

static PySide2.QtWidgets.QInputDialog. getDouble ( parent , title , label [ , value=0 [ , minValue=-2147483647 [ , maxValue=2147483647 [ , decimals=1 [ , flags=Qt.WindowFlags() ] ] ] ] ] )
参数
  • parent QWidget

  • title – unicode

  • label – unicode

  • value double

  • minValue double

  • maxValue double

  • decimals int

  • flags WindowFlags

返回类型

double

static PySide2.QtWidgets.QInputDialog. getDouble ( parent , title , label , value , minValue , maxValue , decimals , flags , step )
参数
  • parent QWidget

  • title – unicode

  • label – unicode

  • value double

  • minValue double

  • maxValue double

  • decimals int

  • flags WindowFlags

  • step double

返回类型

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. step is the amount by which the values change as the user presses the arrow buttons to increment or decrement the value.

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, ok = QInputDialog().getDouble(self, "QInputDialog().getDouble()",
                                   "Amount:", 37.56, -10000, 10000, 2)
if ok:
    doubleLabel.setText("${}".format())
											
static PySide2.QtWidgets.QInputDialog. getInt ( parent , title , label [ , value=0 [ , minValue=-2147483647 [ , maxValue=2147483647 [ , step=1 [ , flags=Qt.WindowFlags() ] ] ] ] ] )
参数
  • parent QWidget

  • title – unicode

  • label – unicode

  • value int

  • minValue int

  • maxValue int

  • step int

  • flags WindowFlags

返回类型

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.

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, ok = QInputDialog().getInteger(self, "QInputDialog().getInteger()",
                                 "Percentage:", 25, 0, 100, 1)
if ok:
    self.integerLabel.setText("{}%".format(i))
											
static PySide2.QtWidgets.QInputDialog. getItem ( parent , title , label , items [ , current=0 [ , editable=true [ , flags=Qt.WindowFlags() [ , inputMethodHints=Qt.ImhNone ] ] ] ] )
参数
  • parent QWidget

  • title – unicode

  • label – unicode

  • items – 字符串列表

  • current int

  • editable bool

  • flags WindowFlags

  • inputMethodHints InputMethodHints

返回类型

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.

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

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 = ["Spring", "Summer", "Fall", "Winter"]
item, ok = QInputDialog().getItem(self, "QInputDialog().getItem()",
                                     "Season:", items, 0, False)
if ok and not item.isEmpty():
    itemLabel.setText(item)
											
static PySide2.QtWidgets.QInputDialog. getMultiLineText ( parent , title , label [ , text="" [ , flags=Qt.WindowFlags() [ , inputMethodHints=Qt.ImhNone ] ] ] )
参数
  • parent QWidget

  • title – unicode

  • label – unicode

  • text – unicode

  • flags WindowFlags

  • inputMethodHints InputMethodHints

返回类型

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.

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 被返回。

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 ] ] ] ] )
参数
  • parent QWidget

  • title – unicode

  • label – unicode

  • echo EchoMode

  • text – unicode

  • flags WindowFlags

  • inputMethodHints InputMethodHints

返回类型

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.

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 被返回。

Use this static function like this:

text, ok = QInputDialog().getText(self, "QInputDialog().getText()",
                                     "User name:", QLineEdit.Normal,
                                     QDir().home().dirName())
if ok and text:
    textLabel.setText(text)
											
PySide2.QtWidgets.QInputDialog. inputMode ( )
返回类型

InputMode

另请参阅

setInputMode()

PySide2.QtWidgets.QInputDialog. intMaximum ( )
返回类型

int

另请参阅

setIntMaximum()

PySide2.QtWidgets.QInputDialog. intMinimum ( )
返回类型

int

另请参阅

setIntMinimum()

PySide2.QtWidgets.QInputDialog. intStep ( )
返回类型

int

另请参阅

setIntStep()

PySide2.QtWidgets.QInputDialog. intValue ( )
返回类型

int

另请参阅

setIntValue()

PySide2.QtWidgets.QInputDialog. intValueChanged ( value )
参数

value int

PySide2.QtWidgets.QInputDialog. intValueSelected ( value )
参数

value int

PySide2.QtWidgets.QInputDialog. isComboBoxEditable ( )
返回类型

bool

PySide2.QtWidgets.QInputDialog. labelText ( )
返回类型

unicode

另请参阅

setLabelText()

PySide2.QtWidgets.QInputDialog. okButtonText ( )
返回类型

unicode

另请参阅

setOkButtonText()

PySide2.QtWidgets.QInputDialog. open ( receiver , member )
参数
  • receiver QObject

  • 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:

信号将断开槽连接,当对话框被关闭时。

PySide2.QtWidgets.QInputDialog. setCancelButtonText ( text )
参数

text – unicode

PySide2.QtWidgets.QInputDialog. setComboBoxEditable ( editable )
参数

editable bool

PySide2.QtWidgets.QInputDialog. setComboBoxItems ( items )
参数

items – 字符串列表

另请参阅

comboBoxItems()

PySide2.QtWidgets.QInputDialog. setDoubleDecimals ( decimals )
参数

decimals int

另请参阅

doubleDecimals()

PySide2.QtWidgets.QInputDialog. setDoubleMaximum ( max )
参数

max double

另请参阅

doubleMaximum()

PySide2.QtWidgets.QInputDialog. setDoubleMinimum ( min )
参数

min double

另请参阅

doubleMinimum()

PySide2.QtWidgets.QInputDialog. setDoubleRange ( min , max )
参数
  • min double

  • max double

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 分别。

PySide2.QtWidgets.QInputDialog. setDoubleStep ( step )
参数

step double

另请参阅

doubleStep()

PySide2.QtWidgets.QInputDialog. setDoubleValue ( value )
参数

value double

另请参阅

doubleValue()

PySide2.QtWidgets.QInputDialog. setInputMode ( mode )
参数

mode InputMode

另请参阅

inputMode()

PySide2.QtWidgets.QInputDialog. setIntMaximum ( max )
参数

max int

另请参阅

intMaximum()

PySide2.QtWidgets.QInputDialog. setIntMinimum ( min )
参数

min int

另请参阅

intMinimum()

PySide2.QtWidgets.QInputDialog. setIntRange ( min , max )
参数
  • min int

  • max int

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 分别。

PySide2.QtWidgets.QInputDialog. setIntStep ( step )
参数

step int

另请参阅

intStep()

PySide2.QtWidgets.QInputDialog. setIntValue ( value )
参数

value int

另请参阅

intValue()

PySide2.QtWidgets.QInputDialog. setLabelText ( text )
参数

text – unicode

另请参阅

labelText()

PySide2.QtWidgets.QInputDialog. setOkButtonText ( text )
参数

text – unicode

另请参阅

okButtonText()

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

设置给定 option to be enabled if on is true; otherwise, clears the given option .

另请参阅

options testOption()

PySide2.QtWidgets.QInputDialog. setTextEchoMode ( mode )
参数

mode EchoMode

另请参阅

textEchoMode()

PySide2.QtWidgets.QInputDialog. setTextValue ( text )
参数

text – unicode

另请参阅

textValue()

PySide2.QtWidgets.QInputDialog. testOption ( option )
参数

option InputDialogOption

返回类型

bool

返回 true 若给定 option 被启用;否则,返回 false。

另请参阅

options setOption()

PySide2.QtWidgets.QInputDialog. textEchoMode ( )
返回类型

EchoMode

另请参阅

setTextEchoMode()

PySide2.QtWidgets.QInputDialog. textValue ( )
返回类型

unicode

另请参阅

setTextValue()

PySide2.QtWidgets.QInputDialog. textValueChanged ( text )
参数

text – unicode

PySide2.QtWidgets.QInputDialog. textValueSelected ( text )
参数

text – unicode