class QInputDialog#

`${QInputDialog}类提供了一个简单的便捷对话框来从用户那里获取单个值。更多信息…`

Inheritance diagram of PySide6.QtWidgets.QInputDialog

简述#

方法#

信号#

静态函数#

说明

本文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单的方式告诉我们。

详细描述#

警告

本节包含自动从C++转换为Python的代码片段,可能包含错误。

输入值可以是字符串、数字或列表中的项。必须设置一个标签来告诉用户他们应该输入什么。

提供了五个静态便利函数:getText()getMultiLineText()getInt()getDouble() ,以及 getItem() 。所有这些函数都可以以类似的方式进行使用,例如

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

如果用户点击“确定”,则变量 ok 被设置为 true;否则,设置为 false。

../../_images/inputdialogs.png

“标准对话框”示例展示了如何使用 QInputDialog 以及其他内置 Qt 对话框。

另请参阅

QMessageBox 标准对话框示例

class InputDialogOption#

此枚举指定了影响输入对话框外观和感觉的各种选项。

常量

描述

QInputDialog.NoButtons

不显示“确定”和“取消”按钮(适用于“实时对话框”)。

QInputDialog.UseListViewForComboBoxItems

使用 QListView 而非不可编辑的 QComboBox 来显示通过 setComboBoxItems() 设置的项目。

QInputDialog.UsePlainTextEditForTextInput

使用 QPlainTextEdit 进行多行文本输入。该值在 5.2 版本中引入。

另请参阅

options setOption() testOption()

class InputMode#

此枚举描述了可以选择的对话框的不同输入模式。

常量

描述

QInputDialog.TextInput

用于输入文本字符串。

QInputDialog.IntInput

用于输入整数。

QInputDialog.DoubleInput

用于输入带有双精度精度的浮点数。

另请参阅

inputMode

__init__([parent=None[, flags=Qt.WindowFlags()]])#
参数:

构建一个新的输入对话框,具有指定的 parent 和窗口 flags

cancelButtonText()#
返回类型::

str

另请参阅

setCancelButtonText()

comboBoxItems()#
返回类型::

字符串列表

另请参阅

setComboBoxItems()

doubleDecimals()#
返回类型::

int

另请参阅

setDoubleDecimals()

doubleMaximum()#
返回类型::

float

另请参阅

setDoubleMaximum()

doubleMinimum()#
返回类型::

float

另请参阅

setDoubleMinimum()

doubleStep()#
返回类型::

float

另请参阅

setDoubleStep()

doubleValue()#
返回类型::

float

另请参阅

setDoubleValue()

doubleValueValueChanged(value)#
参数:

value – float

每当对话框中的双精度值更改时,都会发出此信号。当前值通过 value 指定。

此信号仅在与 DoubleInput 模式一起使用时相关。

doubleValueSelected(value)#
参数:

value – float

当用户通过接受对话框(例如,通过单击确定按钮)选择双精度值时,会发出此信号。通过 value 指定所选值。

此信号仅在与 DoubleInput 模式一起使用时相关。

static getDouble(parent, title, label[, value=0[, minValue=-2147483647[, maxValue=2147483647[, decimals=1[, flags=Qt.WindowFlags()[, step=1]]]]]])#
参数:
  • parentQWidget

  • title – 字符串

  • label – 字符串

  • value – float

  • minValue – 浮点数

  • maxValue – 浮点数

  • decimals – 整数

  • flagsWindowType 的组合

  • step – 浮点数

返回类型::

float

警告

本节包含自动从C++转换为Python的代码片段,可能包含错误。

静态便利函数,从用户那里获取一个浮点数。

title 是显示在对话框标题栏中的文本。 label 是显示给用户的文本(它应该说明应该输入什么)。 value 是行编辑将被设置到的默认浮点数。 minmax 是用户可以选择的最小和最大值。 decimals 是数值可能有的最大小数位数。 step 是用户按下箭头按钮来递增或递减值时值变化的量。

如果 ok 非空,当用户按下确认按钮时,*``ok`` 将被设置为 true;如果用户按下取消按钮,则设置为 false。对话框的父项是 parent。该对话框将是模态的,并使用 flags 小部件。

此函数返回用户输入的浮点数。

请按如下方式使用此静态函数

d, ok = QInputDialog.getDouble(self, "QInputDialog::getDouble()",
                               "Amount:", 37.56, -10000, 10000, 2,
                               Qt.WindowFlags(), 1)
if ok:
   doubleLabel.setText(f"${d}")
静态便捷函数,用于从用户获取一个整数输入。
参数:
  • parentQWidget

  • title – 字符串

  • label – 字符串

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

  • value – int

  • minValue – int

  • maxValue – int

  • flagsWindowType 的组合

返回类型::

int

警告

本节包含自动从C++转换为Python的代码片段,可能包含错误。

step – int

静态便捷函数,用于从用户获取一个整数输入。

title 是显示在对话框标题栏中的文本。《label》是显示给用户的文本(应说明要输入的内容)。《value》是滚动框默认将被设置的整数。《min》和《max》是用户可以选择的最小和最大值。《step》是用户在按下箭头按钮时值变化的大小。

如果《ok》非空,则如果用户按下“确定”,*`ok`* 将被设置为 true,如果用户按下“取消”,则设置为 false。对话框的父对象是《parent》。对话框将是模态的,并使用 `flags` 小部件。

请按如下方式使用此静态函数

i, ok = QInputDialog.getInt(self, "QInputDialog::getInt()",
                            "Percentage:", 25, 0, 100, 1)
if ok:
    integerLabel.setText(f"{i}")

另请参阅

在成功的情况下,此函数返回用户输入的整数;在失败的情况下,它返回初始的《value》。

相关方法:getText() getDouble() getItem() getMultiLineText()
参数:
  • parentQWidget

  • title – 字符串

  • label – 字符串

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

  • items – 字符串列表

  • current – int

  • flagsWindowType 的组合

  • inputMethodHintsInputMethodHint的组合

返回类型::

str

警告

本节包含自动从C++转换为Python的代码片段,可能包含错误。

静态方便函数,允许用户从字符串列表中选择一个项目。

title是显示在对话框标题栏中的文本。label是向用户显示的文本(它应该说明需要输入的内容)。items是要插入到组合框中的字符串列表。current是当前应选择的项目的编号。inputMethodHints是如果组合框可编辑且输入法处于活动状态时将使用的输入法提示。

如果editable为true,用户可以输入自己的文本;否则,用户只能选择现有项目中的一个。

如果ok非null,则当用户按下OK时将*ok设置为true,当用户按下取消时设置false。对话框的父级是parent。对话框将是模态的,并使用指定的窗口flags

此函数返回当前项的文本,或者如果editable为true,返回组合框的当前文本。

请按如下方式使用此静态函数

items = ["Spring", "Summer", "Fall", "Winter"]
item, ok = QInputDialog.getItem(self, "QInputDialog::getItem()",
                                "Season:", items, 0, False)
if ok and item:
    itemLabel.setText(item)
static getMultiLineText(parent, title, label[, text=""[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]])#
参数:
返回类型::

str

警告

本节包含自动从C++转换为Python的代码片段,可能包含错误。

从用户获取多行字符串的静态方便函数。

title是显示在对话框标题栏中的文本。label是向用户显示的文本(它应该说明需要输入的内容)。text是在纯文本编辑器中放置的默认文本。inputMethodHints是在活动状态下将用于编辑小部件的输入法提示。

如果ok非null,则当用户按下OK时将*ok设置为true,当用户按下取消时设置为false。对话框的父级是parent。对话框将是模态的,并使用指定的窗口flags

如果对话框被接受,则此函数返回对话框文本编辑中的文本。如果对话框被拒绝,则返回一个空的QString。

请按如下方式使用此静态函数

text, ok = QInputDialog.getMultiLineText(self, "QInputDialog.getMultiLineText()", ""
                                         "Address:", "John Doe\nFreedom Street")
if ok and text:
    multiLineTextLabel.setText(text)
静态getText(parent, title, label[, echo=QLineEdit.Normal[, text=""[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]]]])#
参数:
返回类型::

str

警告

本节包含自动从C++转换为Python的代码片段,可能包含错误。

静态方便函数,从用户获取字符串。

title 是显示在对话框标题栏中的文本。label 是显示给用户的文本(它应该说明要输入的内容)。text 是放在行编辑中的默认文本。mode 是行编辑将使用的回显模式。inputMethodHints 是在编辑小部件中使用的输入法提示,如果启用了输入法。

如果ok非null,则当用户按下OK时将*ok设置为true,当用户按下取消时设置为false。对话框的父级是parent。对话框将是模态的,并使用指定的窗口flags

如果对话框被接受,则此函数返回对话框行编辑中的文本。如果对话框被拒绝,将返回一个空的QString。

请按如下方式使用此静态函数

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

输入模式

另请参阅

setInputMode()

intMaximum()#
返回类型::

int

另请参阅

setIntMaximum()

intMinimum()#
返回类型::

int

另请参阅

setIntMinimum()

intStep()#
返回类型::

int

另请参阅

setIntStep()

intValue()#
返回类型::

int

另请参阅

setIntValue()

intValueChanged(value)#
参数:

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

当对话框中的整数值改变时,将发出此信号。当前值由 value 指定。

仅在输入对话框用于 IntInput 模式时,此信号才有意义。

intValueSelected(value)#
参数:

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

当用户通过接受对话框选择一个整数值(例如点击OK按钮)时,将发出此信号。所选值由 value 指定。

仅在输入对话框用于 IntInput 模式时,此信号才有意义。

isComboBoxEditable()#
返回类型::

bool

labelText()#
返回类型::

str

另请参阅

setLabelText()

okButtonText()#
返回类型::

str

另请参阅

setOkButtonText()

open(receiver, member)#
参数:
  • receiverQObject

  • member – str

此函数将其中一个信号连接到由 receivermember 指定的事件槽。具体信号取决于在 member 中指定的参数。以下是这些参数:

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

setCancelButtonText(text)#
参数:

text – str

另请参阅

cancelButtonText()

setComboBoxEditable(editable)#
参数:

current – int

另请参阅

isComboBoxEditable()

setComboBoxItems(items)#
参数:

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

另请参阅

comboBoxItems()

setDoubleDecimals(decimals)#
参数:

decimals – 整数

另请参阅

doubleDecimals()

setDoubleMaximum(max)#
参数:

max – float

另请参阅

doubleMaximum()

setDoubleMinimum(min)#
参数:

min – float

另请参阅

doubleMinimum()

setDoubleRange(min, max)#
参数:
  • min – float

  • max – float

设置了在DoubleInput模式下对话框接受的浮点数精度的值范围,最小和最大值分别由minmax指定。

setDoubleStep(step)#
参数:

step – 浮点数

另请参阅

doubleStep()

setDoubleValue(value)#
参数:

value – float

另请参阅

doubleValue()

setInputMode(mode)#
参数:

modeInputMode

另请参阅

inputMode()

setIntMaximum(max)#
参数:

max – int

另请参阅

intMaximum()

setIntMinimum(min)#
参数:

min – int

另请参阅

intMinimum()

setIntRange(min, max)#
参数:
  • min – int

  • max – int

设置在IntInput模式下使用时对话框接受的整数值范围,分别通过minmax指定最小值和最大值。

setIntStep(step)#
参数:

maxValue – int

另请参阅

intStep()

setIntValue(value)#
参数:

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

另请参阅

intValue()

setLabelText(text)#
参数:

text – str

另请参阅

labelText()

setOkButtonText(text)#
参数:

text – str

另请参阅

okButtonText()

setOption(option[, on=true])#
参数:

如果on为true,则设置给定的option为启用状态;否则,清除给定的option

另请参阅

options #

setTextEchoMode(mode)#
参数:

modeEchoMode

另请参阅

textEchoMode()

setTextValue(text)#
参数:

text – str

另请参阅

textValue()

testOption(option)#
参数:

optionInputDialogOption

返回类型::

bool

如果给定的option被启用,则返回true;否则,返回false。

另请参阅

options #

textEchoMode()#
返回类型::

EchoMode

另请参阅

setTextEchoMode()

textValue()#
返回类型::

str

另请参阅

setTextValue()

textValueChanged(text)#
参数:

text – str

这个信号在对话框中的文本字符串更改时发出。当前字符串由 text 指定。

仅当输入对话框在 TextInput 模式下使用时,此信号才有意义。

textValueSelected(text)#
参数:

text – str

当用户通过接受对话框选择文本字符串时发出这个信号;例如,通过点击“确定”按钮。选定的字符串由 text 指定。

仅当输入对话框在 TextInput 模式下使用时,此信号才有意义。