PySide6.QtWidgets.QInputDialog

class QInputDialog

QInputDialog 类提供了一个简单的便捷对话框,用于从用户获取单个值。更多

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()]])
Parameters:

使用给定的parent和窗口flags构造一个新的输入对话框。

cancelButtonText()
Return type:

字符串

另请参阅

setCancelButtonText()

comboBoxItems()
Return type:

字符串列表

另请参阅

setComboBoxItems()

doubleDecimals()
Return type:

整数

另请参阅

setDoubleDecimals()

doubleMaximum()
Return type:

浮点数

另请参阅

setDoubleMaximum()

doubleMinimum()
Return type:

浮点数

另请参阅

setDoubleMinimum()

doubleStep()
Return type:

浮点数

另请参阅

setDoubleStep()

doubleValue()
Return type:

浮点数

另请参阅

setDoubleValue()

doubleValueChanged(value)
Parameters:

value – 浮点数

每当对话框中的双精度值发生变化时,就会发出此信号。当前值由value指定。

此信号仅在输入对话框以DoubleInput模式使用时相关。

doubleValueSelected(value)
Parameters:

value – 浮点数

每当用户通过接受对话框选择一个双精度值时,就会发出此信号;例如,通过点击确定按钮。所选值由value指定。

此信号仅在输入对话框以DoubleInput模式使用时相关。

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

  • 标题 – str

  • label – str

  • value – 浮点数

  • minValue – 浮点数

  • maxValue – 浮点数

  • decimals – int

  • flagsWindowType 的组合

  • step – 浮点数

Return type:

浮点数

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

静态便捷函数,用于从用户处获取浮点数。

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

如果 ok 非空,*``ok`` 将被设置为 true,如果用户按下 OK,如果用户按下 Cancel 则设置为 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}")
static getInt(parent, title, label[, value=0[, minValue=-2147483647[, maxValue=2147483647[, step=1[, flags=Qt.WindowFlags()]]]]])
Parameters:
  • parentQWidget

  • 标题 – str

  • label – str

  • value – int

  • minValue – int

  • maxValue – int

  • step – int

  • flagsWindowType 的组合

Return type:

整数

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

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

title 是显示在对话框标题栏中的文本。label 是向用户显示的文本(它应该说明应该输入什么)。value 是微调框将设置的默认整数。minmax 是用户可以选择的最小值和最大值。step 是用户按下箭头按钮增加或减少值时数值变化的量。

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

成功时,此函数返回用户输入的整数;失败时,它返回初始的value

像这样使用这个静态函数:

i, ok = QInputDialog.getInt(self, "QInputDialog::getInt()",
                            "Percentage:", 25, 0, 100, 1)
if ok:
    integerLabel.setText(f"{i}")
static getItem(parent, title, label, items[, current=0[, editable=true[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]]])
Parameters:
  • parentQWidget

  • 标题 – str

  • label – str

  • items – 字符串列表

  • current – int

  • editable – 布尔值

  • flagsWindowType 的组合

  • inputMethodHintsInputMethodHint 的组合

Return type:

字符串

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

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

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

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

如果 ok 非空,*ok 将被设置为 true,如果用户按下 OK,如果用户按下 Cancel 则设置为 false。对话框的父级是 parent。对话框将是模态的,并使用小部件 flags

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

像这样使用这个静态函数:

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]]])
Parameters:
Return type:

字符串

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

静态便捷函数,用于从用户获取多行字符串。

title 是显示在对话框标题栏中的文本。label 是向用户显示的文本(它应该说明应该输入什么)。text 是放置在纯文本编辑框中的默认文本。inputMethodHints 是如果输入法处于活动状态时将在编辑小部件中使用的输入法提示。

如果 ok 非空,*ok 将被设置为 true,如果用户按下 OK,如果用户按下 Cancel 则设置为 false。对话框的父级是 parent。对话框将是模态的,并使用指定的部件 flags

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

像这样使用这个静态函数:

text, ok = QInputDialog.getMultiLineText(self, "QInputDialog.getMultiLineText()", ""
                                         "Address:", "John Doe\nFreedom Street")
if ok and text:
    multiLineTextLabel.setText(text)
static getText(parent, title, label[, echo=QLineEdit.Normal[, text=""[, flags=Qt.WindowFlags()[, inputMethodHints=Qt.ImhNone]]]])
Parameters:
Return type:

字符串

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

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

title 是显示在对话框标题栏中的文本。label 是向用户显示的文本(它应该说明应该输入什么)。text 是放置在行编辑中的默认文本。mode 是行编辑将使用的回显模式。inputMethodHints 是如果输入法处于活动状态时将在编辑小部件中使用的输入法提示。

如果 ok 非空,*ok 将被设置为 true,如果用户按下 OK,如果用户按下 Cancel 则设置为 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()
Return type:

InputMode

另请参阅

setInputMode()

intMaximum()
Return type:

整数

另请参阅

setIntMaximum()

intMinimum()
Return type:

整数

另请参阅

setIntMinimum()

intStep()
Return type:

整数

另请参阅

setIntStep()

intValue()
Return type:

整数

另请参阅

setIntValue()

intValueChanged(value)
Parameters:

– int

每当对话框中的整数值发生变化时,就会发出此信号。当前值由value指定。

此信号仅在输入对话框以IntInput模式使用时相关。

intValueSelected(value)
Parameters:

– int

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

此信号仅在输入对话框以IntInput模式使用时相关。

isComboBoxEditable()
Return type:

布尔

labelText()
Return type:

字符串

另请参阅

setLabelText()

okButtonText()
Return type:

字符串

另请参阅

setOkButtonText()

open(receiver, member)
Parameters:
  • receiverQObject

  • member – str

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

当对话框关闭时,信号将从插槽断开。

setCancelButtonText(text)
Parameters:

文本 – str

另请参阅

cancelButtonText()

setComboBoxEditable(editable)
Parameters:

editable – 布尔值

另请参阅

isComboBoxEditable()

setComboBoxItems(items)
Parameters:

items – 字符串列表

另请参阅

comboBoxItems()

setDoubleDecimals(decimals)
Parameters:

decimals – int

另请参阅

doubleDecimals()

setDoubleMaximum(max)
Parameters:

max – 浮点数

另请参阅

doubleMaximum()

setDoubleMinimum(min)
Parameters:

min – 浮点数

另请参阅

doubleMinimum()

setDoubleRange(min, max)
Parameters:
  • min – 浮点数

  • max – 浮点数

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

setDoubleStep(step)
Parameters:

步长 – 浮点数

另请参阅

doubleStep()

setDoubleValue(value)
Parameters:

value – 浮点数

另请参阅

doubleValue()

setInputMode(mode)
Parameters:

modeInputMode

另请参阅

inputMode()

setIntMaximum(max)
Parameters:

max – 整数

另请参阅

intMaximum()

setIntMinimum(min)
Parameters:

min – 整数

另请参阅

intMinimum()

setIntRange(min, max)
Parameters:
  • min – int

  • max – int

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

setIntStep(step)
Parameters:

step – 整数

另请参阅

intStep()

setIntValue(value)
Parameters:

– int

另请参阅

intValue()

setLabelText(text)
Parameters:

文本 – str

另请参阅

labelText()

setOkButtonText(text)
Parameters:

文本 – str

另请参阅

okButtonText()

setOption(option[, on=true])
Parameters:

如果on为真,则启用给定的option;否则,清除给定的option

另请参阅

options testOption()

setTextEchoMode(mode)
Parameters:

modeEchoMode

另请参阅

textEchoMode()

setTextValue(text)
Parameters:

文本 – str

另请参阅

textValue()

testOption(option)
Parameters:

选项InputDialogOption

Return type:

布尔

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

另请参阅

options setOption()

textEchoMode()
Return type:

EchoMode

另请参阅

setTextEchoMode()

textValue()
Return type:

字符串

另请参阅

setTextValue()

textValueChanged(text)
Parameters:

文本 – str

每当对话框中的文本字符串发生变化时,就会发出此信号。当前字符串由text指定。

此信号仅在输入对话框以TextInput模式使用时相关。

textValueSelected(text)
Parameters:

文本 – str

每当用户通过接受对话框选择文本字符串时,就会发出此信号;例如,通过点击确定按钮。所选字符串由text指定。

此信号仅在输入对话框以TextInput模式使用时相关。