PyQt5最全11 QLineEdit控件综合案例
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt
import sys
class QLineEditDemo(QWidget):
"""
QLineEdit的综合案例
"""
def __init__(self):
super(QLineEditDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QLineEdit的综合案例')
edit1 = QLineEdit()
edit2 = QLineEdit()
edit3 = QLineEdit()
edit4 = QLineEdit()
edit5 = QLineEdit()
edit6 = QLineEdit('hello pyqt5')
# 使用int校验器
edit1.setValidator(QIntValidator())
edit1.setMaxLength(4) # 不超过9999
edit1.setAlignment(Qt.AlignRight)
edit1.setFont(QFont('Arial', 20))
# 使用浮点型校验器
edit2.setValidator(QDoubleValidator(0.99, 99.99, 2))
# 使用掩码
edit3.setInputMask('99_9999_999999;#') # 9 ASCII数字字符是必须输入的(0-9)
# 添加信号与槽
edit4.textChanged.connect(self.textChanged)
edit5.setEchoMode(QLineEdit.Password)
edit5.editingFinished.connect(self.enterPress)
edit6.setReadOnly(True)
formLayout = QFormLayout()
formLayout.addRow('整数校验', edit1)
formLayout.addRow('浮点数校验', edit2)
formLayout.addRow('Mask', 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)
main = QLineEditDemo()
print(main.__doc__)
main.show()
sys.exit(app.exec_())
输出
除了对应的输入格式要求外,额外增加了两个槽:分别在文本变化和密码一栏
QLineEdit的综合案例
输入的内容的: a
输入的内容的: as
输入的内容的: asd
输入的内容的: asdf
已输入值