1个回答
展开全部
用正则表达式是最好的做法了.
但 QLineEdit有setValidator()这个函数可以限定输入字符格式,
QTextEdit却没有
这个时候你重载 QTextEdit 的
void QWidget::keyPressEvent(QKeyEvent * event) 函数
在这个函数里面去判断新输入的字符是否合法.
但 QLineEdit有setValidator()这个函数可以限定输入字符格式,
QTextEdit却没有
这个时候你重载 QTextEdit 的
void QWidget::keyPressEvent(QKeyEvent * event) 函数
在这个函数里面去判断新输入的字符是否合法.
追问
重载了以后,用正则表达式判断嘛?
这个函数原本有什么用?
追答
按键按下的时候先会调用这个函数.
你可以再这个函数里面判断输入是否合法.如果不合法就拦截这个按键事件.如果合法就让这个事件传递下去.
至于用什么判断. 当然用正则表达式最好.
但如果你只想限制字母数字输入用一个的 if 就搞定了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询