PyQt4--QLineEdit内引入正则表达式
fromPyQt4.QtCoreimport*
fromPyQt4.QtGuiimport*
importsysQTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))classFindCell(QDialog):
def__init__(self,parent=None):
super(FindCell,self).__init__(parent)
self.setWindowTitle('FindCell')
lblFind=QLabel('CellFind')
editFind=QLineEdit()
btnOk=QPushButton('OK')
btnCancel=QPushButton('Cancel')
regExp=QRegExp('[A-Za-z][1-9][0-9]{0,2}')
editFind.setValidator(QRegExpValidator(regExp,self))
mainLayout=QGridLayout(self)
mainLayout.addWidget(lblFind,0,0)
mainLayout.addWidget(editFind,0,1,1,2)
mainLayout.addWidget(btnOk,1,1)
mainLayout.addWidget(btnCancel,1,2)
app=QApplication(sys.argv)
dlg=FindCell()
dlg.show()
sys.exit(app.exec_())editFind内只有这样的输入才是合法的:
以一个字母打头,大小写均可,后面跟一个1~9之间的数字,后面再跟0~2个0至9之间的数字
例如:
A123可以输入
A1可以输入
A1234不能输入