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+Django搭建自己的blog网站
Mar 13 Python
python监测当前联网状态并连接的实例
Dec 18 Python
python 用下标截取字符串的实例
Dec 25 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
python标记语句块使用方法总结
Aug 05 Python
Python实现二叉树的最小深度的两种方法
Sep 30 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
python几种常用功能实现代码实例
Dec 25 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
Python urlopen()参数代码示例解析
Dec 10 Python
Python Socket编程详解
Apr 25 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
Terran剧情介绍
2020/03/14 星际争霸
discuz安全提问算法
2007/06/06 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
python cookielib 登录人人网的实现代码
2012/12/19 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
Python实现拷贝/删除文件夹的方法详解
2018/08/29 Python
Python 判断奇数偶数的方法
2018/12/20 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
python+logging+yaml实现日志分割
2019/07/22 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python实现http接口自动化测试的示例代码
2020/10/09 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
人力资源管理专业应届生求职信
2013/09/28 职场文书
微博营销计划书
2014/01/10 职场文书
世界文化遗产导游词
2015/02/13 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS