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不能输入

相关推荐