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