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 17 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
HTML中使用python屏蔽一些基本功能的方法
Jul 07 Python
python统计多维数组的行数和列数实例
Jun 23 Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 Python
Python通过递归获取目录下指定文件代码实例
Nov 07 Python
python实现磁盘日志清理的示例
Nov 05 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
python 实现全球IP归属地查询工具
Dec 18 Python
解决pytorch 数据类型报错的问题
Mar 03 Python
用python基于appium模块开发一个自动收取能量的小助手
Sep 25 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的伪随机数与真随机数详解
2015/05/27 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
img的onload的另类用法
2008/01/10 Javascript
JavaScript 基础问答三
2008/12/03 Javascript
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
python中Django文件上传方法详解
2020/08/05 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
法学自荐信
2014/06/20 职场文书
语文教研活动总结
2014/07/02 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
先进教师个人总结
2015/02/11 职场文书