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在windows下实现备份程序实例
Jul 04 Python
Python3.2中Print函数用法实例详解
May 19 Python
浅谈python配置与使用OpenCV踩的一些坑
Apr 02 Python
Python get获取页面cookie代码实例
Sep 12 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
在Pycharm中设置默认自动换行的方法
Jan 16 Python
实例讲解Python脚本成为Windows中运行的exe文件
Jan 24 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
详解python安装matplotlib库三种失败情况
Jul 28 Python
Python中zipfile压缩包模块的使用
May 14 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 图像处理类1
2009/06/15 PHP
php str_pad 函数用法简介
2009/07/11 PHP
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
php实现短信发送代码
2015/07/05 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
vue实现井字棋游戏
2020/09/29 Javascript
Python实现比较两个列表(list)范围
2015/06/12 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
Python restful框架接口开发实现
2020/04/13 Python
python Paramiko使用示例
2020/09/21 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
保险专业自荐信范文
2014/02/20 职场文书
电话客服工作职责
2014/07/27 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
2014年团支部工作总结
2014/11/17 职场文书
大学生求职信怎么写
2015/03/19 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL
海弦WR-800F
2022/04/05 无线电
Java 异步任务计算FutureTask
2022/04/28 Java/Android