前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQt5 输入对话框QInputDialog

PyQt5 输入对话框QInputDialog

作者头像
用户6021899
发布2019-08-14 17:39:46
2.4K0
发布2019-08-14 17:39:46
举报

本篇介绍 PyQt5 中 QInputDialog 类的四种对话框。

1). 整数输入框

(int, bool ok) QInputDialog.getInt (QWidget parent, QString title, QString label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, Qt.WindowFlags flags = 0)

参数有:父控件,标题,标签文本,初始值,最小值,最大值,微调框步长,窗口样式。

返回值:当前整数,是否确定

2)浮点数输入框

(float, bool ok) QInputDialog.getDouble (QWidget parent, QString title, QString label, float value = 0, float min = -2147483647, float max = 2147483647, int decimals = 1, Qt.WindowFlags flags = 0)

参数有:父控件,标题,标签文本,初始值,最小值,最大值,小数点后位数,窗口样式。

返回值:当前浮点数,是否确定

3)字符串输入框

(str, bool ok) QInputDialog.getText (QWidget parent, QString title, QString label,QLineEdit.EchoMode mode = QLineEdit.Normal,QString text = QString(), Qt.WindowFlags flags = 0)

参数有:父控件,标题,标签文本, 显示模式,初始字符串,窗口样式

其中显示模式有4种类型:

QLineEdit.Normal 正常模式,默认

QLineEdit.NoEcho 完全不显示输入内容,防止密码被偷窥,甚至连密码长度都隐藏

QLineEdit.Password 以星号显示所输入的字符

QLineEdit.PasswordEchoOnEdit 只在显示初始值或编辑完(QLineEdit失去焦点)后显示星号

返回值:当前字符串,是否确定

4)下拉列表对话框

(str, bool ok) InputDialog.getItem (QWidget parent, QString title, QString label, QStringList list, int current = 0, bool editable = True, Qt.WindowFlags flags = 0)

参数有:父控件,标题,标签文本,item字符串列表,初始索引,是否可编辑,窗口样式。

返回值:当前item字符串,是否确定

具体的运用可参考以下代码:

import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton,QInputDialog,QVBoxLayout,QLineEdit

class App(QWidget):

def __init__(self): super().__init__() self.title = 'PyQt5 input dialogs' self.initUI()

def initUI(self): self.setWindowTitle(self.title) vlayout =QVBoxLayout() bt1 = QPushButton("整数输入框") bt2 = QPushButton("浮点数输入框") bt3 = QPushButton("字符串输入框") bt4 = QPushButton("下拉列表对话框") vlayout. addWidget(bt1) vlayout. addWidget(bt2) vlayout. addWidget(bt3) vlayout. addWidget(bt4) self.setLayout(vlayout) bt1.clicked.connect(self.getInteger) bt2.clicked.connect(self.getDouble) bt3.clicked.connect(self.getText) bt4.clicked.connect(self.getChoice)

self.resize(300,100)

def getInteger(self): i, okPressed = QInputDialog.getInt(self, "Get integer","输入整数:", 2, 0, 100, 1) if okPressed: print(i)

def getDouble(self): d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.50, 0, 100, 5) if okPressed: print( d)

def getText(self): text, okPressed = QInputDialog.getText(self, "Get text","Your name:", QLineEdit.PasswordEchoOnEdit, "initiaial text") if okPressed: print(text) print(type(text)) def getChoice(self): items = ["春","夏","秋","冬"] item, okPressed = QInputDialog.getItem(self, "Get item","季节:", items, 1, False) if okPressed : print(item)

if __name__ == '__main__': app = QApplication(sys.argv) haha = App() haha.show() sys.exit(app.exec_())

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python可视化编程机器学习OpenCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档