最后一种对话框是QInputDialog,,用来提供个输入的窗口。

一常用的静态方法

  由于输入的类型不同,QInputDialog分为多种静态方法使用

#有步长调节器的整形数据,step为步长调节器的增量设定
QInputDialog.getInt(parent: QWidget, title: str, label: str, value: int = ..., min: int = ..., max: int = ..., step: int = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ...)
#有步长调节器的浮点形数据,decimals为小数位数
QInputDialog.getDouble(parent: QWidget, title: str, label: str, value: float = ..., min: float = ..., max: float = ..., decimals: int = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ...)
#单行文本数据,echo为输出模式(明文、密码或不显示)
QInputDialog.getText(parent: QWidget, title: str, label: str, echo: 'QLineEdit.EchoMode' = ..., text: str = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ..., inputMethodHints: typing.Union[QtCore.Qt.InputMethodHints, QtCore.Qt.InputMethodHint] = ...)
#多行文本
QInputDialog.getMultiLineText(parent: QWidget, title: str, label: str, text: str = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ..., inputMethodHints: typing.Union[QtCore.Qt.InputMethodHints, QtCore.Qt.InputMethodHint] = ...)
# #下拉列表,qizhong item为下拉列表的内容,迭代内从必须是字符串格式
QInputDialog.getItem(parent: QWidget, title: str, label: str, items: typing.Iterable[str], current: int = ..., editable: bool = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ..., inputMethodHints: typing.Union[QtCore.Qt.InputMethodHints, QtCore.Qt.InputMethodHint] = ...)

所有对话框都是有返回值的,返回的是个元祖,第一个元素就是input里对应的内容,第二个元素是个布尔量,如果对话框是按OK则返回1,取消就是返回0.

二.功能作用

  1.构造函数

QInputDialog(self, parent: typing.Optional[QWidget] = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ...)
Window = ...  # type: 'Qt.WindowType'
Dialog = ... # type: 'Qt.WindowType'
Sheet = ... # type: 'Qt.WindowType'
Drawer = ... # type: 'Qt.WindowType'
Popup = ... # type: 'Qt.WindowType'
Tool = ... # type: 'Qt.WindowType'
ToolTip = ... # type: 'Qt.WindowType'
SplashScreen = ... # type: 'Qt.WindowType'
Desktop = ... # type: 'Qt.WindowType'
SubWindow = ... # type: 'Qt.WindowType'
WindowType_Mask = ... # type: 'Qt.WindowType'
MSWindowsFixedSizeDialogHint = ... # type: 'Qt.WindowType'
MSWindowsOwnDC = ... # type: 'Qt.WindowType'
X11BypassWindowManagerHint = ... # type: 'Qt.WindowType'
FramelessWindowHint = ... # type: 'Qt.WindowType'
CustomizeWindowHint = ... # type: 'Qt.WindowType'
WindowTitleHint = ... # type: 'Qt.WindowType'
WindowSystemMenuHint = ... # type: 'Qt.WindowType'
WindowMinimizeButtonHint = ... # type: 'Qt.WindowType'
WindowMaximizeButtonHint = ... # type: 'Qt.WindowType'
WindowMinMaxButtonsHint = ... # type: 'Qt.WindowType'
WindowContextHelpButtonHint = ... # type: 'Qt.WindowType'
WindowShadeButtonHint = ... # type: 'Qt.WindowType'
WindowStaysOnTopHint = ... # type: 'Qt.WindowType'
WindowOkButtonHint = ... # type: 'Qt.WindowType'
WindowCancelButtonHint = ... # type: 'Qt.WindowType'
WindowStaysOnBottomHint = ... # type: 'Qt.WindowType'
WindowCloseButtonHint = ... # type: 'Qt.WindowType'
MacWindowToolBarButtonHint = ... # type: 'Qt.WindowType'
BypassGraphicsProxyWidget = ... # type: 'Qt.WindowType'
WindowTransparentForInput = ... # type: 'Qt.WindowType'
WindowOverridesSystemGestures = ... # type: 'Qt.WindowType'
WindowDoesNotAcceptFocus = ... # type: 'Qt.WindowType'
NoDropShadowWindowHint = ... # type: 'Qt.WindowType'
WindowFullscreenButtonHint = ... # type: 'Qt.WindowType'
ForeignWindow = ... # type: 'Qt.WindowType'
BypassWindowManagerHint = ... # type: 'Qt.WindowType'
CoverWindow = ... # type: 'Qt.WindowType'
MaximizeUsingFullscreenGeometryHint = ... # type: 'Qt.WindowType'

flag对应的枚举值

  要注意的就是flag(顶层窗口样式标志)对应的枚举值了。或者有几个最常用的效果在下面的setoption里也可以设置

  2.输入类型设置

QInputDialog.setInputMode(self, mode: 'QInputDialog.InputMode')
TextInput = ... # type: 'QInputDialog.InputMode'
IntInput = ... # type: 'QInputDialog.InputMode'
DoubleInput = ... # type: 'QInputDialog.InputMode'

 主要要注意的是这里的类型里没有下拉列表,因为下拉列表是需要另外设置的

QInputDialog.setComboBoxItems(self, items: typing.Iterable[str])
QInputDialog.setComboBoxEditable() #列表内容可编辑

  3.选项设置(输入类型)

QInputDialog.setOption(self, option: 'QInputDialog.InputDialogOption', on: bool = ...)
QInputDialog.setOptions(self, options: typing.Union['QInputDialog.InputDialogOptions', 'QInputDialog.InputDialogOption'])
QInputDialog.testOption(self, option: 'QInputDialog.InputDialogOption') -> bool: ...
QInputDialog.options()-> 'QInputDialog.InputDialogOptions': ...
NoButtons = ... # type: 'QInputDialog.InputDialogOption'
UseListViewForComboBoxItems = ... # type: 'QInputDialog.InputDialogOption'
UsePlainTextEditForTextInput = ... # type: 'QInputDialog.InputDialogOption'

  4.各种小分类的设置

QInputDialog.setIntMaximum()
QInputDialog.setIntMinimum()
QInputDialog.setIntRange()
QInputDialog.setIntStep()
QInputDialog.setIntValue()

整形数据

QInputDialog.setDoubleMaximum()
QInputDialog.setDoubleMinimum()
QInputDialog.setDoubleRange()
QInputDialog.setDoubleDecimals()
QInputDialog.setDoubleValue()

浮点型数据

QInputDialog.setTextEchoMode()
QInputDialog.setTextValue()

字符串类型

  小种类的设置一定要和输入数据类型设置是一样的。否则是没有效果的(输入类型设置优先级高。)

三.常用信号

QInputDialog.intValueChanged()
QInputDialog.intValueSelected()
QInputDialog.doubleValueChanged()
QInputDialog.doubleValueSelected()
QInputDialog.textValueChanged()
QInputDialog.textValueSelected()

注意下区别,changed是只要值发生改变(不需要确认选择),而Select是只有点击确认按钮后才触发。但是都传递值作为参数。

  

GUI学习之二十九—QInputDialog学习总结的更多相关文章

  1. GUI学习之二十九—QFileDialog学习总结

    今天学习的是文件对话框——QFileDialog 一.描述 QFileDialog提供了一个对话框,允许用户选择文件或者目录,也允许用户遍历文件系统,用以选择一个或多个文件或者目录. QFileDia ...

  2. 深度学习(二十九)Batch Normalization 学习笔记

    Batch Normalization 学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/50866313 作者:hjimce 一.背景意义 ...

  3. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

  4. GUI学习之二十五——QFontDialog学习总结

    今天学习字体对话框——QFontDialog()控件. QFontDialog()是继承自QDialog()的一个子类,用来选择给定的字体(包括字体.字号.样式等) 一.构造函数 QFontDialo ...

  5. GUI学习之二十四——QDialog学习总结

    今天学习对话框输入控件的基类(QDialog). 一.描述 是对话类窗口(字体框.颜色选择.文件选择框等)的基类. 对话框窗口是顶级窗口(就是说不包含于哪个父类的显示界面里),主要用于短期任务和与用户 ...

  6. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  7. angular学习笔记(二十九)-$q服务

    angular中的$q是用来处理异步的(主要当然是http交互啦~). $q采用的是promise式的异步编程.什么是promise异步编程呢? 异步编程最重要的核心就是回调,因为有回调函数,所以才构 ...

  8. salesforce 零基础学习(二十九)Record Types简单介绍

    在项目中我们可能会遇见这种情况,不同的Profile拥有不同的页面,页面中的PickList标签可能显示不同的值.这个时候,使用Record Types可以很便捷的搞定需求. Record Types ...

  9. JavaWeb学习(二十九)———— 事务

    一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句  update from account set mone ...

随机推荐

  1. centos7没有IP地址

    查看网卡 ip addr查看网卡 我截图中有ip,是因为我已经设置过了. eth0是对外的网卡,我们接下来设置这个网卡,你的网卡名字可能和我的不一样. 修改网卡 修改/etc/sysconfig/ne ...

  2. Docker安装CentOS7

    1. 拉取镜像 docker pull centos:centos7 2. 启动镜像创建容器 docker run -d -p 36622:22 -p 36680:80 --name centos7- ...

  3. Win7上防火墙开放FTP服务以及ping解决方案

    1.windows 防火墙开放ftp服务 The following 4 steps will allow both non-secure and SSL FTP traffic through fi ...

  4. eclipse下 hibernate逆向数据库操作示例!!

    做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么 ...

  5. rocketMQ 通信协议格式

    rocketMQ 使用 netty 通信,端对端的通信,为了避免粘包.分包,需要指定发送数据的边界. 使用的解码器是 LengthFieldBasedFrameDecoder // org.apach ...

  6. 【漏洞学习】slowHTTPtest 慢速 DOS 攻击方法 修复方案

    日期:2018-05-28 21:41:59 更新:2019-07-05 23:15:21 作者:Bay0net 介绍:学习一下 slowHTTPtest 的攻击及防御. 0x01. 安装 下载链接 ...

  7. windows一次无线网卡被关闭事件

    使用的是Dell的笔记本,fn+无线图标莫名的是蓝牙的启动. 有一天突然无线网卡无法上网,无法发现无线网络: 1. 在服务中开启"Wired AutoConfig"以及“WLAN ...

  8. eslint 修改规则 函数形参不使用报错

    函数再定义形参以后未使用就会出现报错的问题,需要设置一项eslint 规则 再.eslintrc.js   rules里面添加 "no-unused-vars": "of ...

  9. 【Linux开发】jpeglib使用指南

    您可以到www.ijg.org网站下载libjpeg的源码, IJG JPEG Library就是jpeg压缩库,是以源码的形式提供给软件开发人员的,当然在软件包里也有编译好的库文件,我们这里就只用到 ...

  10. 【Linux开发】【Qt开发】交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别

    一. 什么是ABI和EABI1) ABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)在计算机中,应用 ...