68.QInputDialog

继承QDialog

下面介绍的函数中的参数flags的意思是标致,比如说有无边框这种

目录

1  静态方法

1.1  获取整形数据 getInt()

1.2  获取浮点型数据 getDouble()

1.3  获取单行字符串型数据 getText()

1.4  获取多行字符串类型数据 getMultLineText()

1.5  获取下拉列表的选中的条目 getItem()

2  功能作用

2.1  构造函数

2.2  选项设置

2.2.1  设置一个选项 setOption()

2.2.2  设置多个选项 setOptions()

2.2.3  测试选项是否生效 testOption()

2.2.4  返回当前的选项 options()

2.3  输入模式

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  输入为整形数据

2.5.2  输入为浮点型数据

2.5.3  输入为字符串

2.5.4  输入为下拉列表

3  信号

3.1  整形类

3.2  浮点型类

3.3  字符串类


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,也会触发

如果改为可编辑,也会触发

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值