PyQt5(12)QLineEdit掩碼,即規定輸入的格式就像DNS


'''

用掩碼限制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_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM