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抓取网页中的图片示例
Feb 28 Python
python通过shutil实现快速文件复制的方法
Mar 14 Python
python通过索引遍历列表的方法
May 04 Python
python实现从字典中删除元素的方法
May 04 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
Python实现建立SSH连接的方法
Jun 03 Python
pip命令无法使用的解决方法
Jun 12 Python
破解安装Pycharm的方法
Oct 19 Python
详解python Todo清单实战
Nov 01 Python
python时间序列按频率生成日期的方法
May 14 Python
Python操作SQLite数据库过程解析
Sep 02 Python
python调用win32接口进行截图的示例
Nov 11 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代码DOS造成用光网络带宽
2011/03/01 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
js调用flash的效果代码
2008/04/26 Javascript
用javascript获取textarea中的光标位置
2008/05/06 Javascript
js程序中美元符号$是什么
2008/06/05 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
Python argparse模块应用实例解析
2019/11/15 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
莫斯科大型旅游休闲商品超市:Camping.ru
2020/09/16 全球购物
招商引资工作汇报
2014/10/28 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android