PyQ4标准输入框——QInputDialog(一)
来源:互联网 发布:安全期计算器软件 编辑:程序博客网 时间:2024/06/01 08:42
前面讲了标准文件对话框,这里就将标准输入对话框。
同样地,可以使用该类的静态方法,也可以自定义输入对话框。
首先看静态方法
1.Text方法
原型:
(QString, bool ok)getText (QWidget parent, QString title, QString label, QLineEdit.EchoMode echo = QLineEdit.Normal, QString text = QString(), Qt.WindowFlags f = 0)
title=窗口标题,label=提示标签,EchoMode=编辑模式,text=编辑框内的内容
#coding=utf-8from PyQt4.QtGui import *from PyQt4.QtCore import *import sysapp = QApplication(sys.argv)Text,bool = QInputDialog.getText(None,"this is a static method", "this is a tooltip label",QLineEdit.Normal,"Begin!")#用Text,bool分别存储QString和boolprint Text,boolapp.exec_()
第二种在编辑框什么都不会显示,但是可编辑。
第三种像编辑密码一样,全部是以*来代替字符。
第四种在编辑的时候会显示字符,但是打开对话框的编辑框会显示内容为*
2.Int方法
原型:
(int, bool ok)getInteger (QWidget parent, QString title, QString label, int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, Qt.WindowFlags f = 0)
title=窗口标题,label=提示标签, value=设置编辑框显示的值,minValue=编辑框显示最小的值,maxValue=编辑框显示的最大值,
step=步长,该编辑框会以QSpinBox的形式显示。
3.Double方法
原型:
(float, bool ok)getDouble (QWidget parent, QString title, QString label, float value = 0, float minValue = -2147483647, float maxValue = 2147483647, int decimals = 1, Qt.WindowFlags f = 0)
decimals=显示的小数点位数
4.Item方法
原型:
(QString, bool ok)getItem (QWidget parent, QString title, QString label, QStringList list, int current = 0, bool editable = True, Qt.WindowFlags f = 0)
list=事先建好的列表,current=显示列表内对应序号的值,editable=是否可以直接在编辑框编辑
#coding=utf-8import sysfrom PyQt4.QtGui import *from PyQt4.QtCore import *QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))class InputDlg(QDialog): def __init__(self,parent=None): super(InputDlg,self).__init__(parent) label1=QLabel(self.tr("姓名")) label2=QLabel(self.tr("性别")) label3=QLabel(self.tr("年龄")) label4=QLabel(self.tr("身高")) self.nameLabel=QLabel("TengWei") self.nameLabel.setFrameStyle(QFrame.Panel|QFrame.Sunken)#设置标签的样式 self.sexLabel=QLabel(self.tr("男")) self.sexLabel.setFrameStyle(QFrame.Panel|QFrame.Sunken) self.ageLabel=QLabel("25") self.ageLabel.setFrameStyle(QFrame.Panel|QFrame.Sunken) self.statureLabel=QLabel("168") self.statureLabel.setFrameStyle(QFrame.Panel|QFrame.Sunken) nameButton=QPushButton("...") sexButton=QPushButton("...") ageButton=QPushButton("...") statureButton=QPushButton("...") self.connect(nameButton,SIGNAL("clicked()"),self.slotName) self.connect(sexButton,SIGNAL("clicked()"),self.slotSex) self.connect(ageButton,SIGNAL("clicked()"),self.slotAge) self.connect(statureButton,SIGNAL("clicked()"),self.slotStature) layout=QGridLayout() layout.addWidget(label1,0,0) layout.addWidget(self.nameLabel,0,1) layout.addWidget(nameButton,0,2) layout.addWidget(label2,1,0) layout.addWidget(self.sexLabel,1,1) layout.addWidget(sexButton,1,2) layout.addWidget(label3,2,0) layout.addWidget(self.ageLabel,2,1) layout.addWidget(ageButton,2,2) layout.addWidget(label4,3,0) layout.addWidget(self.statureLabel,3,1) layout.addWidget(statureButton,3,2) self.setLayout(layout) self.setWindowTitle(self.tr("资料收集")) def slotName(self): name, ok = QInputDialog.getText(self, self.tr("用户名"), self.tr("请输入新的名字:"), QLineEdit.Normal, self.nameLabel.text()) print ok if ok and (not name.isEmpty()): self.nameLabel.setText(name) def slotSex(self): list=QStringList() list.append(self.tr("男")) list.append(self.tr("女")) sex,ok=QInputDialog.getItem(self,self.tr("性别"),self.tr("请选择性别"),list,0,False) if ok: self.sexLabel.setText(sex) def slotAge(self): age,ok=QInputDialog.getInteger(self,self.tr("年龄"),self.tr("请输入年龄"), int(self.ageLabel.text()),0,150) if ok: self.ageLabel.setText(str(age)) def slotStature(self): stature,ok=QInputDialog.getDouble(self,self.tr("身高"),self.tr("请输入身高"), float(self.statureLabel.text()),0.00,2300.00,2) if ok: self.statureLabel.setText(str(stature))app = QApplication(sys.argv)form=InputDlg()form.show()app.exec_()
阅读全文
1 0
- PyQ4标准输入框——QInputDialog(一)
- PyQt标准框——QInputDialog(二)
- PyQt5学习笔记08----标准输入框QInputDialog
- Qt标准对话框之输入对话框(QInputDialog)
- (11)QInputDialog--输入对话框
- Qt 之路 (18)—标准对话框之QInputDialog
- [QT]QT教程之实例分析[二]各种标准输入框[QInputDialog]
- QtCreator 对话框(一)QColorDialog,QFileDialog,QFontDialog,QInputDialog
- QInputDialog
- QInputDialog
- Qt标准对话框之 QInputDialog-18
- Qt学习之路(18): Qt标准对话框之QInputDialog
- Qt学习之路(18): Qt标准对话框之QInputDialog
- Qt学习之路(18): Qt标准对话框之QInputDialog
- Qt学习之路(18): Qt标准对话框之QInputDialog
- Qt学习之路(18): Qt标准对话框之QInputDialog
- qt学习笔记:Qt标准对话框之QInputDialog
- IO —— 标准输入流和标准输出流
- C#的float,double和decimal
- Git笔记
- 字符串概述
- 学习笔记TF048:TensorFlow 系统架构、设计理念、编程模型、API、作用域、批标准化、神经元函数优化
- 在linux上安装 elasticsearch-php
- PyQ4标准输入框——QInputDialog(一)
- Oracle SQL性能优化
- 容斥原理(有求区间(1-r)里面跟n互质的个数的高效方面模板)
- 数据结构导论之第二遍
- 网页查看github代码利器,Octotree
- 信息安全原理与实践学习
- HDU 6143 Killer Names(组合数学 递推 17多校第八场)
- Palindrome Function
- 初识网络流——最大流EK算法