基于 QLineEdit控件的综合案例
import sys
from PyQt5.QtCore import Qt, QRegExp
from PyQt5.QtGui import QIcon, QFont, QPalette, QPixmap, QIntValidator, QDoubleValidator, QRegExpValidator
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QToolTip, QHBoxLayout, QMainWindow, QLabel, QVBoxLayout,QDialog, QLineEdit, QGridLayout, QFormLayout
'''
QLineEdit控件的综合案例
'''
class QLineEditDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置定位和左上角坐标
self.setGeometry(300, 300, 400, 250)
# 设置窗口标题
self.setWindowTitle('基于 QLineEdit控件的综合案例')
# 设置窗口图标
# self.setWindowIcon(QIcon('../web.ico'))
# 创建表单布局
formLayout = QFormLayout()
# 创建控件
edit1 = QLineEdit()
# 使用int校验器
edit1.setValidator(QIntValidator())
edit1.setMaxLength(4) # 不超过9999
edit1.setAlignment(Qt.AlignRight)
edit1.setFont(QFont('Arial',20))
edit2 = QLineEdit()
edit2.setValidator(QDoubleValidator(0.99,99.99,2))
edit3 = QLineEdit()
edit3.setInputMask('99_9999_99999999;#')
edit4 = QLineEdit()
edit4.textChanged.connect(self.textChanged)
edit5 = QLineEdit()
edit5.setEchoMode(QLineEdit.Password)
edit5.editingFinished.connect(self.enterPress)
edit6 = QLineEdit('你好,PYTQ5 演示')
edit6.setReadOnly(True)
formLayout.addRow('整数校验',edit1)
formLayout.addRow('浮点数校验',edit2)
formLayout.addRow('掩码规则校验',edit3)
formLayout.addRow('文本变化',edit4)
formLayout.addRow('密码',edit5)
formLayout.addRow('只读',edit6)
self.setLayout(formLayout)
def textChanged(self,text):
print('输入内容:'+text)
def enterPress(self):
print('已输入值')
if __name__ == '__main__':
app = QApplication(sys.argv)
# 设置应用图标
app.setWindowIcon(QIcon('../web.ico'))
w = QLineEditDemo()
w.show()
sys.exit(app.exec_())