博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQt5之QLineEdit文本框类控件2
阅读量:3960 次
发布时间:2019-05-24

本文共 4771 字,大约阅读时间需要 15 分钟。

PyQt5之QLineEdit文本框类控件2


一、EchoMode的显示效果

import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import Qtclass Win(QWidget):    def __init__(self):        super().__init__()        self.setGeometry(200, 200, 400, 400)        self.setWindowTitle('QLineEdit演示')        layout = QFormLayout()  #表单布局        pNormal = QLineEdit()        pNoEcho = QLineEdit()        pPassword = QLineEdit()        pPasswordEchoOnEdit = QLineEdit()        layout.addRow("Normal",pNormal)        layout.addRow("NoEcho",pNoEcho)        layout.addRow("Password",pPassword)        layout.addRow("PasswordEchoOnEdit",pPasswordEchoOnEdit)        self.setLayout(layout)        pNormal.setPlaceholderText("Normal")        pNoEcho.setPlaceholderText("NoEcho")        pPassword.setPlaceholderText("Password")        pPasswordEchoOnEdit.setPlaceholderText("PasswordEchoOnEdit")        #设置显示效果        pNormal.setEchoMode(QLineEdit.Normal)        pNoEcho.setEchoMode(QLineEdit.NoEcho)        pPassword.setEchoMode(QLineEdit.Password)        pPasswordEchoOnEdit.setEchoMode(QLineEdit.PasswordEchoOnEdit)if __name__ == "__main__":    app = QApplication(sys.argv)    form = Win()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

二、验证器

import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import QRegExpclass Win(QWidget):    def __init__(self):        super().__init__()        self.setGeometry(200, 200, 400, 400)        self.setWindowTitle('QLineEdit演示')        layout = QFormLayout()  #表单布局        pInt = QLineEdit()        pDouble = QLineEdit()        pValidator = QLineEdit()        layout.addRow("整型",pInt)        layout.addRow("浮点型",pDouble)        layout.addRow("字母和数字",pValidator)        self.setLayout(layout)        pInt.setPlaceholderText("整型")        pDouble.setPlaceholderText("浮点型")        pValidator.setPlaceholderText("字母和数字")        #整型范围        pIntVali = QIntValidator(self)        pIntVali.setRange(1,99)        #浮点型范围,精度:小数点后两位        pDoubleVali = QDoubleValidator(self)        pDoubleVali.setRange(-360,360)        pDoubleVali.setNotation(QDoubleValidator.StandardNotation)        pDoubleVali.setDecimals(2)        #字母和数字        reg = QRegExp("[a-zA-Z0-9]+$")  #正则表达式        pVali = QRegExpValidator(self)        pVali.setRegExp(reg)        #设置验证器        pInt.setValidator(pIntVali)        pDouble.setValidator(pDoubleVali)        pValidator.setValidator(pVali)if __name__ == "__main__":    app = QApplication(sys.argv)    form = Win()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

三、输入掩码

import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import QRegExpclass Win(QWidget):    def __init__(self):        super().__init__()        self.setGeometry(200, 200, 400, 400)        self.setWindowTitle('QLineEdit演示')        layout = QFormLayout()  #表单布局        pIP = QLineEdit()        pMAC = QLineEdit()        pDate = QLineEdit()        pLicense = QLineEdit()        pIP.setInputMask("000.000.000.000;_")        pMAC.setInputMask("HH:HH:HH:HH:HH:HH;_")        pDate.setInputMask("0000-00-00")        pLicense.setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#")        layout.addRow("数字掩码",pIP)        layout.addRow("MAC掩码",pMAC)        layout.addRow("日期掩码",pDate)        layout.addRow("许可证掩码", pLicense)        self.setLayout(layout)if __name__ == "__main__":    app = QApplication(sys.argv)    form = Win()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

四、综合示例

import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import QRegExp,Qtclass Win(QWidget):    def __init__(self):        super().__init__()        self.setGeometry(200, 200, 400, 400)        self.setWindowTitle('综合示例')        layout = QFormLayout()  #表单布局        e1 = QLineEdit()        e1.setValidator(QIntValidator())        e1.setMaxLength(4)        e1.setAlignment(Qt.AlignRight)        e1.setFont(QFont("Arial",20))        layout.addRow("Integer Validator",e1)        e2 = QLineEdit()        e2.setValidator(QDoubleValidator(0.99,99.99,2))        layout.addRow("Double Validator",e2)        e3 = QLineEdit()        e3.setInputMask('+99_9999_999999')        layout.addRow("Input Mask",e3)        e4 = QLineEdit()        e4.textChanged.connect(self.textchanged)        layout.addRow("Text Changed",e4)        e5 = QLineEdit()        e5.setEchoMode(QLineEdit.Password)        e5.editingFinished.connect(self.enterPress)        layout.addRow("Password",e5)        e6 = QLineEdit("Hello PyQt5")        e6.setReadOnly(True)        layout.addRow("Read Only",e6)        self.setLayout(layout)    def textchanged(self,text):        print("输入的内容为:"+text)    def enterPress(self):        print("已输入值")if __name__ == "__main__":    app = QApplication(sys.argv)    form = Win()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

转载地址:http://dvozi.baihongyu.com/

你可能感兴趣的文章
JSP的运行内幕
查看>>
python超简单的web服务器
查看>>
代理模式、静态代理、动态代理、aop
查看>>
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00
查看>>
大型Web2.0站点构建技术初探
查看>>
机器学习算法汇总:人工神经网络、深度学习及其它
查看>>
解决Spring中AOP不能切入Struts的DispatchAction方法的问题
查看>>
出国以后才知道英语应该怎么学
查看>>
计算机专业权威期刊投稿经验总结
查看>>
如何在三个月内学会一门外语?
查看>>
看看你对Linux到底了解多少?
查看>>
网上看到的:ARM入门最好的文章(转)
查看>>
中国最美情诗100句
查看>>
javascript注册window的onload事件问题研究
查看>>
客户端技术分页控件javascript+css,可用于任何服务器端技术
查看>>
学习Swing 的网站[转]
查看>>
Google App engine 的第一个应用 midispot
查看>>
提问的智慧
查看>>
关于dom4j无法解析xmlns问题及生成非UTF-8字符集乱码问题的解决
查看>>
很好的一篇文章 如果让我重做一次研究生 王汎森
查看>>