老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来
视频链接
课程重点
用掩码限制QLineEdit控件的输入
- A ASCII字母字符是必须输入的(A-Z、a-z)
- a ASCII字母字符是允许输入的,但不是必需的(A-Z、a-z)
- N ASCII字母字符是必须输入的(A-Z、a-z、0-9)
- n ASII字母字符是允许输入的,但不是必需的(A-Z、a-z、0-9)
- X 任何字符都是必须输入的
- x 任何字符都是允许输入的,但不是必需的
- 9 ASCII数字字符是必须输入的(0-9)
- 0 ASCII数字字符是允许输入的,但不是必需的(0-9)
- D ASCII数字字符是必须输入的(1-9)
- d ASCII数字字符是允许输入的,但不是必需的(1-9)
- # ASCI数字字符或加减符号是允许输入的,但不是必需的
- H 十六进制格式字符是必须输入的(A-F、a-f、0-9)
- h 十六进制格式字符是允许输入的,但不是必需的(A-F、a-f、0-9)
- B 二进制格式字符是必须输入的(0,1)
- b 二进制格式字符是允许输入的,但不是必需的(0,1)
- > 所有的字母字符都大写
- < 所有的字母字符都小写
- ! 关闭大小写转换
- \ 使用""转义上面列出的字符
代码位置
完整代码
from PyQt5.QtWidgets import *
import sys
class QLineEditMask(QWidget) :
def __init__(self):
super(QLineEditMask,self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('用掩码限制QLineEdit控件的输入')
formLayout = QFormLayout()
ipLineEdit = QLineEdit()
macLineEdit = QLineEdit()
dateLineEdit = QLineEdit()
licenseLineEdit = QLineEdit()
# 192.168.21.45
ipLineEdit.setInputMask('000.000.000.000;_')
macLineEdit.setInputMask('HH:HH:HH:HH:HH:HH;_')
dateLineEdit.setInputMask('0000-00-00')
licenseLineEdit.setInputMask('>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#')
formLayout.addRow('数字掩码',ipLineEdit)
formLayout.addRow('Mac掩码', macLineEdit)
formLayout.addRow('日期掩码',dateLineEdit)
formLayout.addRow('许可证掩码',licenseLineEdit)
self.setLayout(formLayout)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QLineEditMask()
main.show()
sys.exit(app.exec_())
遇到的问题
这个掩码只是格式限定,没有做具体数值大小范围和逻辑的设置,看看以后老师会不会讲吧
改写效果展示
改写注意点
直接copy一个class33.ui改写成class34.ui
改写代码(QTdesigner模式)
# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: 188891020@qq.com
@File: class34.py
@CreateTime: 2020/5/9 13:51
'''
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5 import uic
class my_form():
def __init__(self):
super().__init__()
self.ui = uic.loadUi("../ui_package/class34.ui")
if __name__ == '__main__':
app = QApplication(sys.argv)
main = my_form()
main.ui.show()
sys.exit(app.exec_())