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开发的小球完全弹性碰撞游戏代码
Oct 15 Python
python类装饰器用法实例
Jun 04 Python
关于Django显示时间你应该知道的一些问题
Dec 25 Python
Python实现中一次读取多个值的方法
Apr 22 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
Oct 11 Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 Python
python构建指数平滑预测模型示例
Nov 21 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
Sep 26 Python
详解用Python把PDF转为Word方法总结
Apr 27 Python
python学习之panda数据分析核心支持库
May 07 Python
pytorch 如何使用amp进行混合精度训练
May 24 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 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(7) php 字符串相关应用
2010/03/05 PHP
非常实用的php验证码类
2016/05/15 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
php中yii框架实例用法
2020/12/22 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
Node.js模块加载详解
2014/08/16 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
用svg制作富有动态的tooltip
2015/07/17 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
Python爬取京东的商品分类与链接
2016/08/26 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
python机器学习实现决策树
2019/11/11 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
幼儿园家长评语
2014/02/10 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
银行稽核岗位职责
2015/04/13 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
小学校长开学致辞
2015/07/29 职场文书
利用python进行数据加载
2021/06/20 Python