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使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
Python实现批量压缩图片
Jan 25 Python
python实现三次样条插值
Dec 17 Python
Python logging设置和logger解析
Aug 28 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
Dec 12 Python
python如何实现不用装饰器实现登陆器小程序
Dec 14 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
python解包用法详解
Feb 17 Python
python 实现IP子网计算
Feb 18 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
Feb 27 Python
Python 全局空间和局部空间
Apr 06 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 OPCode缓存 APC详细介绍
2010/10/12 PHP
Php图像处理类代码分享
2012/01/19 PHP
php实现网页端验证码功能
2017/07/11 PHP
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
JS验证不重复验证码
2017/02/10 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
spyder常用快捷键(分享)
2017/07/19 Python
python实现机器人行走效果
2018/01/29 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
新员工入职感言
2014/02/01 职场文书
代办委托书怎样写
2014/04/08 职场文书
2014年冬季防火方案
2014/05/21 职场文书
公证委托书格式
2014/09/13 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
2014年度个人总结范文
2015/03/09 职场文书
求职简历自我评价范文
2015/03/10 职场文书
退休欢送会致辞
2015/07/31 职场文书
协议书格式模板
2016/03/24 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Python基础之条件语句详解
2021/06/16 Python
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
vue 给数组添加新对象并赋值
2022/04/20 Vue.js