# QInputDialog
#
# 提供一个简单方便地对话框,获得来自用户输入的单个值
# 单个值 可以是 数字,字符串 列表中的项目
# 通常会设置一个标签以告知用户输入的内容
from PyQt5.Qt import *
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('QInputDialog')
self.resize(500,500)
self.iniUI()
def iniUI(self):
# self.id_getInt()
# self.id_getDouble()
# self.id_getText()
# self.id_getMultiLineText()
# self.id_setOption()
self.id_Event()
##############################################使用静态方法,快速创建输入对话框
def id_getInt(self):
# 父控件,大标题,小标题,默认值,最小值,最大值,步长
result = QInputDialog.getInt(self,'整形数据获取框','请输入整型数据',8,0,200,3)
# result_int 返回一个两元素元组,第一个元素是 输入的整型数据,第二个元素标识确认True取消False 键
print(result)
def id_getDouble(self):
# 父控件,大标题,小标题,默认值,最小值,最大值,小数点位数
result = QInputDialog.getDouble(self,'浮点型数据获取框','请输入浮点型数据',8.00,0,200,2)
print(result)
def id_getText(self):
result = QInputDialog.getText(self,'单行文本获取框','请输入单行文本',echo=QLineEdit.Password)
print(result)
def id_getMultiLineText(self):
result = QInputDialog.getMultiLineText(self,'多行文本获取框','请输入多行文本:','默认文本内容')
print(result)
#############################使用静态方法,快速创建输入对话框
##############################################输入对话框 展示设置
def id_setOption(self):
ind = QInputDialog(self,Qt.FramelessWindowHint)#无边框样式
# ind.setOption(QInputDialog.UseListViewForComboBoxItems)#将setComboBox设置的列表摊开展示
ind.setComboBoxItems(['1','2','acd','qwe'])
ind.show()
#############################输入对话框 展示设置
##############################################输入对话框 输入模式设置
#
# 输入 整型 浮点型 文本 等类型限制的设置
#
def id_setInputMode(self):
ind = QInputDialog(self,Qt.FramelessWindowHint)
# ind.setInputMode(QInputDialog.IntInput) #整型
ind.setInputMode(QInputDialog.DoubleInput) #浮点型
# ind.setInputMode(QInputDialog.TextInput) #字符型
ind.setComboBoxItems(['1','2','qwe']) #设置下拉列表的模式
ind.show()
#############################输入对话框 输入模式设置
##############################################输入对话框 标签文本设置
#
# 标签文本设置
#
def id_setText(self):
ind = QInputDialog(self)
ind.setLabelText('请输入…………(小标签)')
ind.setOkButtonText('朕知道了')
ind.setCancelButtonText('朕不同意')
ind.show()
#############################输入对话框 标签文本设置
##############################################输入对话框 的细节设置
#
# 整型数据对话框
# id.setIntMaximum()
# id.setIntMinimum()
# id.setIntRange()
# id.setIntStep()
# id.setIntValue()
# 浮点类型对话框
# id.setDoubleDecimals()
# id.setDoubleStep() #设置浮点型输入框的数据步长
# 字符串类型对话框
# id.setTextEchoMode(QLineEdit.Password )#设置文本输出模式,明文密文
#
# 下拉列表对话框
# id.setComboBoxItems( Iter )
# id.setComboBoxEditable(True)
#############################输入对话框 的细节设置
##############################################输入对话框 信号相关
#
# 三种数据类型,两种动作行为 6种触发机制
#
# id.intValueChanged.connect(lambda int:)
# id.doubleValueChanged.connect(lambda double:)
# id.textValueChanged.connect(lambda str:)
# id.intValueSelected.connect(lambda int:)
# id.doubleValueSelected.connect(lambda double:)
# id.textValueSelected.connect(lambda str:)
#
def id_Event(self):
id_int = QInputDialog(self)
id_int.setInputMode(QInputDialog.IntInput)
id_int.intValueChanged.connect(lambda int_:print(int_))
id_int.intValueSelected.connect(lambda int_:print('INT被选中:',int_))
id_int.show()
#############################输入对话框 信号相关
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
win = MyWindow()
win.show()
sys.exit(app.exec_())
PyQt5_QInputDialog_输入对话框
最新推荐文章于 2023-12-19 20:39:43 发布