继承QDialog
下面介绍的函数中的参数flags的意思是标致,比如说有无边框这种
目录
1.4 获取多行字符串类型数据 getMultLineText()
2.4.3 设置OK按钮上的内容 setOkButtonText()
2.4.4 设置取消按钮上的内容 setCancelButtonText()
1 静态方法
1.1 获取整形数据 getInt()
参数如下:
- 必选参数
- 父对象 QWidget
- 对话框标题 str
- 对话框提示语 str
- 可选参数
- 默认输入值 int
- 最小值 int
- 最大值 int
- 步长 int
- flags
返回值为元组,第一个值为输入的整形,第二个是布尔值,如果点击确定为True,如果点击取消为False
我们先把必选参数放上,然后看一下返回值
我们现在直接点击OK
重新运行一遍,然后我们点击Cancel
重新运行一遍,然后点击右上角的叉
默认输入值,最小值,最大值,步长都是我们之前接触过的,在这里就不枚举了
1.2 获取浮点型数据 getDouble()
- 必选参数
- 父对象 QWidget
- 标题 str
- 提示语 str
- 可选参数
- 当前值 float
- 最小值 float
- 最大值 float
- 小数位数 int
- flags
- 无法调节步长
我们直接把所有的参数放进去,然后查看返回值
父对象为self,标题为 标题,提示语为 提示语 ,当前值为 2.2 ,最小值为 1.0 ,最大值为 3.0 ,小数位数为3
步长默认为1,我们想上升一个步长
点击OK
1.3 获取单行字符串型数据 getText()
必选参数
- 父对象
- 标题
- 提示语
可选参数
- echo(明文密文)
- flags
参数中的echo可选参数如下
我们把除flags的参数都放进去
运行后输入hello
然后点击OK
1.4 获取多行字符串类型数据 getMultLineText()
必选参数
- 父对象 QWidget
- 标题 str
- 提示语 str
可选参数
- 默认输入内容 str
- flags
我们把除flags所有参数都输入进去
直接点击OK
1.5 获取下拉列表的选中的条目 getItem()
必选参数
- 父对象 QWidget
- 标题 str
- 提示语 str
- 所有条目 Iterable[str]
可选参数
- 默认显示的条目索引 int
- 是否可编辑 bool
- flags
我们把除flags的所有参数都放上去
运行之后
点击下拉菜单
点击OK
2 功能作用
2.1 构造函数
第一个参数为父对象,第二个参数为flags,可在下面这张图里面选一个
- 这个已经封装成了一个exe放在pyqt_demo分析中
先看看不加flag时的样子
- 有的flags是没有效果的
2.2 选项设置
以上函数有一个参数是 QInputDialog.InputDialogOption 可选的值如下
- QInputDialog.NoButtons 不显示 确定 和 取消 按钮
- QInputDialog.UseListViewForComboBoxItems 使用listviewd代替combobox
- QInputDialog.UsePlainTextEditForTextInput 使用多文本输入
comboBox是这样的
QInputDialog.UseListViewForComboBoxItems应该是设置为条目哪种东西才会生效
2.2.1 设置一个选项 setOption()
我们设置一个没有按钮
如果后面的bool值为False就使这个选项失效,如果不填默认为True
2.2.2 设置多个选项 setOptions()
我们把三个都设置上
- 第二个选项在默认状态中没有生效
2.2.3 测试选项是否生效 testOption()
我们检测无按钮选项是否生效
2.2.4 返回当前的选项 options()
2.3 输入模式
其中涉及到一个变量 QInputDialog.InputMode ,可选的值为
- 0 - QInputDialog.TextInput 输入字符串
- 1 - QInputDialog.IntInput 输入整形
- 2 - QInputDialog.DoubleInput 输入浮点型
2.3.1 设置 setInputMode()
由于在静态方法中三种样式都看过,我们直接选一个测试方法
2.3.2 获取 inputMode()
2.4 界面文本设置
2.4.1 设置提示语 setLabelText()
2.4.2 获取提示语 labelText()
2.4.3 设置OK按钮上的内容 setOkButtonText()
2.4.4 设置取消按钮上的内容 setCancelButtonText()
2.5 各小分类设置
使用的方法比较多,就不一一演示了,只做介绍
2.5.1 输入为整形数据
- setIntMaximum(self, int) 设置最大值
- intMaximum(self) -> int 获取最大值
- setIntMinimum(self, int) 设置最小值
- intMinimum(self) -> int 获取最小值
- setIntRange(self, int, int) 设置区间
- setIntStep(self, int) 设置步长
- intStep(self) -> int 获取步长
- setIntValue(self, int) 设置当前值
- intValue(self) -> int 获取当前
2.5.2 输入为浮点型数据
- setDoubleMaximum(self, float) 设置最大值
- doubleMaximum() -> float 获取最大值
- setDoubleDecimals(self, int) 设置小数位数
- doubleDecimals() -> int 获取小数位数
- setDoubleMinimum(self, float) 设置最小值
- doubleMinimum(self) -> float 获取最小值
- setDoubleRange(self, float, float) 设置区间
- setDoubleStep(self, float) 设置步长
- doubleStep(self) -> float 获取步长
- setDoubleValue(self, float) 设置当前值
- doubleValue(self) -> float 获取当前值
2.5.3 输入为字符串
- setTextEchoMode(self, QLineEdit.EchoMode) 设置明密文形式
- textEchoMode(self) -> QLineEdit.EchoMode 获取明密文形式
- setTextValue(self, str) 设置当前值
- textValue(self) -> str 获取当前值
2.5.4 输入为下拉列表
这个在输入模式中没有,这四个方法使用一下
2.5.4.1 设置为下拉列表 setComboBoxItems()
2.5.4.2 获取下拉列表的内容 comboBoxItems()
2.5.4.3 设置是否可编辑 setComboBoxEditable(bool)
2.5.4.4 获取是否可编辑 isComboBoxEditable()
我们在这测试刚刚涉及到的选项 QInputDialog.UseListViewForComboBoxItems
需要把上面的可编辑状态去掉
3 信号
3.1 整形类
- intValueChanged(int value) 数据变化
- intValueSelected(int value) 数据确定
点一下向上箭头
点击确定
3.2 浮点型类
- doubleValueChanged(double value) 数值变化触发
- doubleValueSelected(double value) 数值确定触发
这个就不展示了,和整形的一样
3.3 字符串类
- textValueChanged(text_str) 改变时触发
- textValueSelected(text_str) 确认时触发
如果设置为这个状态和整形是一样的
如果设置为多条目,在选择的时候与确认的时候也会触发信号
如果再加一个这个option,也会触发
如果改为可编辑,也会触发