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 相关文章推荐
Python3处理文件中每个词的方法
May 22 Python
在Python中的Django框架中进行字符串翻译
Jul 27 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
python写日志文件操作类与应用示例
Jul 01 Python
python通过http下载文件的方法详解
Jul 26 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
keras模型保存为tensorflow的二进制模型方式
May 25 Python
将Python代码打包成.exe可执行文件的完整步骤
May 12 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
我用php+mysql写的留言本
2006/10/09 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
PHP 正则表达式小结
2015/02/12 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
stripos函数知识点实例分享
2019/02/11 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python获取某一天是星期几的方法示例
2017/01/17 Python
Python实现字符串格式化的方法小结
2017/02/20 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
彪马美国官网:PUMA美国
2017/03/09 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
家长会演讲稿
2014/04/26 职场文书
党校毕业心得体会
2014/09/13 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
介绍信的写法
2015/01/31 职场文书
成绩单家长意见
2015/06/03 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
MySQL学习之基础命令实操总结
2022/03/19 MySQL
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL