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中变量交换的例子
Aug 25 Python
深入解析Python中的lambda表达式的用法
Aug 28 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
Python求解任意闭区间的所有素数
Jun 10 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
python-itchat 获取微信群用户信息的实例
Feb 21 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
python numpy 常用随机数的产生方法的实现
Aug 21 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 Python
python不到50行代码完成了多张excel合并的实现示例
May 28 Python
常用的10个Python实用小技巧
Aug 10 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开发中常用的8个小技巧
2008/08/27 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
TypeScript入门-接口
2017/03/30 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
js实现适配移动端的拖动效果
2020/01/13 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[01:17:55]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python 的内置字符串方法小结
2016/03/15 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
网页设计个人找工作求职信
2013/11/28 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
纪录片信仰观后感
2015/06/08 职场文书