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闭包实现计数器的方法
May 05 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
深入浅析Python中join 和 split详解(推荐)
Jun 30 Python
Python中将字典转换为列表的方法
Sep 21 Python
EM算法的python实现的方法步骤
Jan 02 Python
Django学习笔记之ORM基础教程
Mar 27 Python
Python之NumPy(axis=0 与axis=1)区分详解
May 27 Python
python 利用Pyinstaller打包Web项目
Oct 23 Python
python 模拟登录B站的示例代码
Dec 15 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
python开发的自动化运维工具ansible详解
Aug 07 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
一个php作的文本留言本的例子(一)
2006/10/09 PHP
坏狼的PHP学习教程之第1天
2008/06/15 PHP
php后门URL的防范
2013/11/12 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
php计算税后工资的方法
2015/07/28 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
Python 调用DLL操作抄表机
2009/01/12 Python
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
Python求导数的方法
2015/05/09 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
python 为什么说eval要慎用
2019/03/26 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
一套比较完整的软件测试人员面试题
2012/05/13 面试题
财务会计实习报告体会
2013/12/20 职场文书
项目合作计划书
2014/01/09 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
护士医德医风自我评价
2014/09/15 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
人与自然的观后感
2015/06/18 职场文书
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL