python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例


Posted in Python onFebruary 27, 2020

PyQt5输入对话框QInputDialog介绍

QInputDialog控件是一个标准对话框,有一个文本框和两个按钮(ok和cancel)组成,当用户单击ok或enter键后,在父窗口可以收集通过QInputDialog控件输入的信息,QInputDialog控件是QDialog标准对话框的一部分

在QInpuTDialog控件中可以输入数字,字符串或列表中的选项,标签用于提示必要的信息

QInputDialog类中常用的方法

方法 描述
getint() 从控件中获得标准整数输入
getDouble() 从控件中获得标准浮点数输入
getText() 从控件中获得标准字符串的输入
getItem() 从控件中获得列表里的选项输入

QInputDialog使用实例

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class InputDialogDemo(QWidget):
  def __init__(self,parent=None):
    super(InputDialogDemo, self).__init__(parent)

    #表单布局
    layout=QFormLayout()

    #创建按钮,当行文本框并建立按钮点击与槽函数的联系,添加到布局中
    self.btn1=QPushButton('获得列表里的选项')
    self.btn1.clicked.connect(self.getItem)
    self.Le1=QLineEdit()

    layout.addRow(self.btn1,self.Le1)

    # 创建按钮,当行文本框并建立按钮点击与槽函数的联系,添加到布局中
    self.btn2=QPushButton('获得字符串')
    self.btn2.clicked.connect(self.getText)
    self.le2=QLineEdit()
    layout.addRow(self.btn2,self.le2)

    # 创建按钮,当行文本框并建立按钮点击与槽函数的联系,添加到布局中
    self.btn3 = QPushButton('获得整数')
    self.btn3.clicked.connect(self.getInt)
    self.le3 = QLineEdit()
    layout.addRow(self.btn3, self.le3)

    #设置主窗口的布局及标题
    self.setLayout(layout)
    self.setWindowTitle('Input Dialog例子')
  def getItem(self):
    #创建元组并定义初始值
    items=('C','C++','C#','JAva','Python')
    #获取item输入的值,以及ok键的点击与否(True 或False)
    #QInputDialog.getItem(self,标题,文本,元组,元组默认index,是否允许更改)
    item,ok=QInputDialog.getItem(self,"select input dialog",'语言列表',items,0,False)

    if ok and item:
      #满足条件时,设置单行文本框的文本
      self.Le1.setText(item)
  def getText(self):
    text,ok=QInputDialog.getText(self,'Text Input Dialog','输入姓名:')
    if ok:
      self.le2.setText(str(text))

  def getInt(self):
    num,ok=QInputDialog.getInt(self,'Integer input dualog','输入数字')
    if ok:
      self.le3.setText(str(num))
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=InputDialogDemo()
  demo.show()
  sys.exit(app.exec_())

允许程序,显示效果图如下

python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例

python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例

python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例

python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例

代码分析:

在这个例子中,在QFormLayour布局管理器中放置了三个按妞和三个文本框,当单击按钮时,将弹出标准对话框,把按钮的单击信号与自定义的槽函数进行连接

self.btn1.clicked.connect(self.getItem)
self.btn2.clicked.connect(self.getText)
self.btn3.clicked.connect(self.getInt)

当调用QInputDialog.getItem()函数时,QInputDialog控件包含一个QComboBox控件和两个按钮,用户从QComboBox中选择一个选项后,允许用户确认或取消操作

def getItem(self):
    items=('C','C++','C#','JAva','Python')
    item,ok=QInputDialog.getItem(self,"select input dialog",'语言列表',items,0,False)
    if ok and item:
      #满足条件时,设置单行文本框的文本
      self.Le1.setText(item)

同理,当调用QInputDialog.getText()函数时,QInputDialog控件包含一个文本框和两个按钮,允许用户输入字符串

本文详细讲解了PyQt5输入对话框QInputDialog详细使用方法与实例,更多关于这方面的知识请查看下面的相关链接

Python 相关文章推荐
Python去掉字符串中空格的方法
Mar 11 Python
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
python PyTorch预训练示例
Feb 11 Python
Django实现分页功能
Jul 02 Python
python学习开发mock接口
Apr 28 Python
python异常处理和日志处理方式
Dec 24 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
Django查询优化及ajax编码格式原理解析
Mar 25 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 Python
Python用requests库爬取返回为空的解决办法
Feb 21 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 #Python
Python如何使用OS模块调用cmd
Feb 27 #Python
python之生成多层json结构的实现
Feb 27 #Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 #Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 #Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 #Python
Python 格式化打印json数据方法(展开状态)
Feb 27 #Python
You might like
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
jquery插件之easing使用
2010/08/19 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
python实现人人网登录示例分享
2014/01/19 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
使用python绘制温度变化雷达图
2019/10/18 Python
Numpy之reshape()使用详解
2019/12/26 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
商场促销活动方案
2014/02/08 职场文书
结对共建协议书
2014/08/20 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
个人收入证明模板
2014/09/18 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python