QInputDialog简介

在GUI应用中,经常有一些简单的输入信息需要交互,这时候可以使用QInputDialog来快速完成我们的工作,而不必创建一个新的对话框来实现。

QInputDialog控件是一个标准对话框,由一个文本框和两个按钮(ok和cancel)组成。当用户单击ok或enter键后,在父窗口可以收集通过QInputDialog控件输入的信息。在QInpuTDialog控件中可以输入数字,字符串或列表中的选项。

QInputDialog常用方法有:

  • getInt(): 从控件中获得标准整数输入;
  • getDouble(): 从控件中获得标准浮点数输入;
  • getText(): 从控件中获得标准字符串的输入;
  • getItem(): 从控件中获得列表里的选项输入;
  • getMultiLineText(): 从控件中获得多行文本输入。

QInputDialog常用信号:

  • textValueChanged: 当输入文本发生改变时,发射该信号;
  • textValueSelected: 当输入文本被选中时,发射该信号;
  • intValueChanged: 当输入的整数值发生改变时,发射该信号;
  • intValueSelected: 当选中整数值时,发射该信号;
  • doubleValueChanged: 当输入的浮点数发生改变时,发生该信号;
  • doubleValueSelected: 当选中浮点数值时,发射该信号。

QInputDialog类继承关系:

测试QInputDialog

创建文件qinputdialog.py, 分别测试QInputDialog的四个方法:getItem, getText, getInt和getDouble。完整代码如下:

import sysfrom PyQt5 import QtCore, QtGui, QtWidgets#from PyQt5.QtCore import Qtfrom PyQt5.QtWidgets import (QApplication, QWidget, QInputDialog, QFormLayout,                             QPushButton, QLineEdit) class DemoInputDialog(QWidget):    def __init__(self, parent=None):        super(DemoInputDialog, self).__init__(parent)                    # 设置窗口标题        self.setWindowTitle('实战PyQt5: QInputDialog Demo!')              # 设置窗口大小        self.resize(320, 240)              self.initUi()            def initUi(self):        #创建一个表单布局        mainLayout = QFormLayout(self)        #设置内部控件之间的间隔        mainLayout.setSpacing(16)                min_width = 120                btnGetSel = QPushButton('列表选择输入对话框', self)        btnGetSel.setMinimumWidth(min_width)        btnGetSel.clicked.connect(self.onGetSelItem)        self.infoSel = QLineEdit(self)        self.infoSel.setReadOnly(True)        mainLayout.addRow(btnGetSel, self.infoSel)                btnGetTxt = QPushButton('字符串输入对话框', self)        btnGetTxt.setMinimumWidth(min_width)        btnGetTxt.clicked.connect(self.onGetText)        self.infoTxt = QLineEdit(self)        self.infoTxt.setReadOnly(True)        mainLayout.addRow(btnGetTxt, self.infoTxt)                btnGetInt = QPushButton('整数输入对话框')        btnGetInt.setMinimumWidth(min_width)        btnGetInt.clicked.connect(self.onGetInt)         self.infoInt = QLineEdit(self)        self.infoInt.setReadOnly(True)        mainLayout.addRow(btnGetInt, self.infoInt)                btnGetDbl = QPushButton('浮点数输入对话框')        btnGetDbl.setMinimumWidth(min_width)        btnGetDbl.clicked.connect(self.onGetDouble)        self.infoDbl = QLineEdit(self)        self.infoDbl.setReadOnly(True)        mainLayout.addRow(btnGetDbl, self.infoDbl)                self.setLayout(mainLayout)            def onGetSelItem(self):        #创建元组并并定义初始值        items = ('C', 'C++', 'C#', 'Java', 'Java Script', 'Go', 'Python')        #获取item输入的值,以及ok键的点击与否(True 或False)        item,ok=QInputDialog.getItem(self,"选择输入对话框",'语言列表',items,0,False)        if ok and item:            #满足条件时,设置单行文本框的文本            self.infoSel.setText(item)                def onGetText(self):        text,ok=QInputDialog.getText(self,'文本输入对话框','输入姓名:')        if ok:            self.infoTxt.setText(str(text))                def onGetInt(self):        num,ok=QInputDialog.getInt(self,'整数输入对话框','输入整数')        if ok:            self.infoInt.setText(str(num))                def onGetDouble(self):        value,ok=QInputDialog.getDouble(self,'浮点数输入对话框','输入浮点数')        if ok:            self.infoDbl.setText(str(value))            if __name__ == '__main__':    app = QApplication(sys.argv)    window = DemoInputDialog()    window.show()    sys.exit(app.exec())

运行结果如下图:

测试QInputDialog

本文知识点

  • 在一些简单的输入信息交互场景下使用QInputDialog可提高开发效率;
  • QInputDialog提供了几种常用的信息输入方式;
  • 表单QFormLayout的运用;
  • 设置按钮的最小宽度,以对齐按钮的排列。

喜欢本文内容就关注,收藏,点赞,评论和转发。

pyqt5获取文本框里输入的值_实战PyQt5: 060-输入对话框QInputDialog相关推荐

  1. python获取文本框里输入的值_如何从Tkinter文本框小工具获取输入?

    要从python 3中的文本框中获取Tkinter输入,我使用的完整学生级程序如下: #Imports all (*) classes, #atributes, and methods of tkin ...

  2. easyui tree复选框是否打钩状态_实战PyQt5: 010-复选框控件QCheckBox

    复选框QCheckBox简介 QCheckBox 复选框,通常用于表示可以启用或禁用应用中的功能. QCheckBox中的常用方法: setText(): 设置复选框的显示文本: setEnabled ...

  3. js同步获取文本框textarea输入的内容

    教大家怎么实现 同步获取文本框textarea输入的内容 这个js功能 感觉有点像ajax技术 那么先写HTML标签代码 <textarea name="" cols=&qu ...

  4. html获取文本框的值,如何获取输入框的内容

    js如何获取input输入框中输入的值 直接使用.value属性即可获取输入框的内容. 详细的步骤如下: 首先获取输入框对应的DOM元素,如: var bt=document.getElementBy ...

  5. JavaScript获取文本框内容,select选择的值(jsp内实现)

    1. 实例代码 JavaScript代码: <script language="JavaScript"> function check(theForm){if(theF ...

  6. alert获取输入框内容_JS获取文本框值

    一.获取文本框/编辑框/隐藏域框 function Mycheck(){ var checkstr="获取内容如下:\n"; if (document.form1.文章作者.val ...

  7. java如何获取单框的值_javaWeb获取文本框的值

    javaWeb获取文本框的值 [2021-02-01 21:11:36]  简介: php if不等于空的判断方法:首先通过"$_POST['content'];"获取文本框的内容 ...

  8. 使用JavaScript获取文本框的值方法

    使用JavaScript获取文本框的值方法 第一种方法: 重点看<a onclick="add()">获取值</a> 在script中对应的是标签id的值, ...

  9. php 取html文本框的值,jQuery中怎么获取文本框的值

    jQuery中获取文本框的值方法:首先新建文件,并使用script标签在当前页面引入[jquery.min.js]文件:然后使用input标签创建文本框,并设置其id为myinput:最后给butto ...

最新文章

  1. [ARM-assembly]-汇编示例:c语言翻译成汇编
  2. 这篇 LaTeX 简单介绍的文章艺术含量很高哒!
  3. SpringMVC学习——对于SpringMVC的整体认识
  4. iOS开发UI篇 程序启动原理和UIApplication
  5. 快速幂实现pow函数(从二分和二进制两种角度理解快速幂)
  6. win10iot 编程_使用DIY Blynk板对IoT按钮进行编程
  7. 怎么切换java版本吗_Java切换JDK版本的方法及技巧
  8. SQL alter操作
  9. php后台登录页,后台登录页面模板源码
  10. 转换上课周次字符串(我带着困惑我一周之久的编程题来了)
  11. 如何用TI Unifalsh烧录程序到CC3200 Launchpad
  12. 十一道家常小菜详细攻略[图文并茂]
  13. 【MATLAB】遗传算法(GA)求解TSP问题
  14. debian 更换源 使用国内源 配置方法
  15. Java小白入门200例39之Java字符串拼接(连接)
  16. 搜索引擎下拉菜单 提示关键词 接口API (百度长尾词 淘宝长尾词)
  17. BuildAdmin后台管理系统入门分析:01
  18. C++中的几个输入函数:cin,cin.get(),getline(),cin.getline() 的区别
  19. 2012年度IT博客大赛50强报道:陈裕强
  20. 关于java动态代理模式

热门文章

  1. Icomparer和Icomparable集合排序
  2. 解决DeferredResult 使用 @ResponseBody 注解返回中文乱码
  3. shell中的函数、shell中的数组、 告警系统需求分析
  4. IM 融云 之 初始化及登录
  5. 在ASP.NET中使用Global.asax文件
  6. python中的log模块笔记
  7. apache如何支持asp.net
  8. SQL Server表分区
  9. PL/SQL 处理流程
  10. bct对oracle影响,Oracle 优化篇+Rman增量备份优化之BCT(块变更追踪)