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 07 Python
python自定义类并使用的方法
May 07 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
Python的多维空数组赋值方法
Apr 13 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
Sanic框架Cookies操作示例
Jul 17 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
Python的互斥锁与信号量详解
Sep 12 Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 Python
Python中第三方库Faker的使用详解
Apr 02 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 开源框架22个简单简介
2009/08/24 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
js function定义函数使用心得
2010/04/15 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
python访问sqlserver示例
2014/02/10 Python
Python模块搜索路径代码详解
2018/01/29 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
自我鉴定200字
2013/10/28 职场文书
函授本科自我鉴定
2014/02/04 职场文书
委托公证书范本
2014/04/03 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
安全生产月宣传标语
2014/10/06 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
放飞理想主题班会
2015/08/14 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
Ruby处理YAML和json数据
2022/04/18 Ruby