image.png
QInputDialog是PyQt中的一个对话框类,用以接收用户输入信息,它提供了多种输入类型及选项,使得与用户交互变得更加方便和灵活。QInputDialog支持多种输入类型,如文本、整数、浮点数、密码和多选项等。您可以根据需要选择合适的输入类型,并进行验证以确保输入符合特定的规则。
1、文本输入
QInputDialog.getText()显示对话框用以输入字符串。getText()函数返回结果是Tuple数据,用两个变量text和OK分别获取两个返回值,其中,text是对话框中输入的字符串,OK表示输入是否有效。其中编辑响应模式有:枚举类型QLineEdit.EchoMode、正常类型QLineEdit.Normal以及输入密码类型QLineEdit.Password。
@pyqtSlot() ##"输入字符串"按钮
def on_input_string_clicked(self):
title="输入文字对话框"
label="请输入文件名"
defaultInput="新建文件.txt"
echoMode=QLineEdit.Normal #默认编辑响应模式
text,OK = QInputDialog.getText(self,
title, #对话框标题
label, #提示标签文字
echoMode, #编辑响应模式
defaultInput #默认输入
)
if (OK):
self.ui.plainTextEdit.appendPlainText(text)
2、整型输入
QInputDialog.getInt()是QInputDialog类中的一个静态方法,用于显示一个整数输入对话框并返回用户输入的整数值。它接受一系列参数来定制对话框的外观和行为。下面是QInputDialog.getInt()方法的参数详解:
- parent:指定对话框的父窗口。可以是QWidget、QDialog或QMainWindow等窗口类的实例。如果不需要指定父窗口,可以传入None。
- title:设置对话框的标题文本,以说明用户需要输入的整数的含义。
- label:用于显示在对话框中的标签文本,向用户描述需要输入的整数的更具体信息。
- value:设置输入框的默认整数值。用户可以在对话框中看到该值并进行修改。
- min:设置整数输入的最小值限制。只有大于等于该最小值的整数值才会被接受。
- max:设置整数输入的最大值限制。只有小于等于该最大值的整数值才会被接受。
- step:设置整数输入
@pyqtSlot()
def on_inputInt_clicked(self):
title="输入整数对话框"
label="设置值"
default_value=5
min_value=6
max_value=50
step=1
input_value,OK = QInputDialog.getInt(self,
title,
label,
default_value,
min_value,
max_value,
step
)
if OK:
self.ui.plainTextEdit.append(input_value)
3、浮点型输入
QInputDialog.getDouble()是Qt框架中的一个方法,用于在对话框中获取用户输入的浮点数。参数详解如下:
- parent:指定对话框的父级窗口,对话框在父级窗口上显示。通常设置为当前窗口对象。
- title:对话框的标题栏文本。
- label:对话框中输入框的标签文本。
- value:对话框中输入框的默认值。如果用户没有输入新的值,则返回默认值。
- min:输入浮点数的最小值范围。如果不需要限制最小值,则设置为None。
- max:输入浮点数的最大值范围。如果不需要限制最大值,则设置为None。
- decimals:浮点数的小数位数。默认值为2。
@pyqtSlot()
def on_inputFloat_clicked(self):
title="输入浮点数对话框"
label="输入一个浮点数"
defaultvalue=3.65
min_value=0
max_value=10000
decimals=2
inputValue,OK = QInputDialog.getDouble(self,
title,
label,
defaultvalue,
min_value,
max_value,
decimals
)
if OK:
text="输入了一个浮点数:%.2f"%inputValue
self.ui.plainTextEdit.appendPlainText(text)
4、下拉列表选择输入
QInputDialog.getItem()是Qt框架中的一个方法,用于在对话框中获取用户选择的项。参数详解如下:
- parent:指定对话框的父级窗口,对话框在父级窗口上显示。通常设置为当前窗口对象。
- title:对话框的标题栏文本。
- label:对话框中选择框的标签文本。
- items:供用户选择的选项列表。可以是一个字符串列表或元组。
- current:对话框中选择框的默认值的索引。默认值为0,表示第一个选项。
- 返回值为一个元组,包含两个值:
selectedItem:用户选择的项的文本值。
ok:一个布尔值,表示用户是否选择了一个选项(确定按钮)或取消了选择(取消按钮)。
@pyqtSlot()
def on_inputItem_clicked(self):
title="条目选择对话框"
label="请选择项目"
curent_index=0
editable=True #是否可编辑
items=["男","女","不确定"]
text,OK = QInputDialog.getItem(self,
title,
label,
items,
current_index,
editable #是否可以编辑,如果不能编辑就只能在下拉列表中选择
)
if OK:
self.ui.plainTextEdit.appendPlainText(text)
5、ui文件设计
image.png6、基本效果展示
image.pngimage.png
7、总结
本小节,详细介绍了PyQt5里面的标准对话框输入对话框的常见操作并实践了一个简单的小案例。下一期,我们详细介绍pyqt5中更多标准对话框及自定义对话框相关操作。 更多精彩,关注订阅号:数道https://s.pdb2.com/pages/20230916/DNSJr4br03CAe7ns.html