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实现一个简单的能够上传下载的HTTP服务器
May 05 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
Python使用time模块实现指定时间触发器示例
May 18 Python
Python实现购物程序思路及代码
Jul 24 Python
pandas创建新Dataframe并添加多行的实例
Apr 08 Python
解决Tensorflow安装成功,但在导入时报错的问题
Jun 13 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
简单了解django orm中介模型
Jul 30 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
pycharm双击无响应(打不开问题解决办法)
Jan 10 Python
Python tensorflow卷积神经Inception V3网络结构
May 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写的简易聊天室代码
2011/06/04 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
php实现文件下载实例分享
2014/06/02 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
python文件选择对话框的操作方法
2019/06/27 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
北京SQL新华信咨询
2016/09/30 面试题
行政助理求职自荐信
2013/10/26 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
村居抓节水倡议书
2014/05/19 职场文书
服务理念标语
2014/06/18 职场文书
安全责任书范文
2014/08/25 职场文书
新兵入伍决心书
2015/09/22 职场文书
话题作文之学会尊重
2019/12/16 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers