全部,
我想知道是否可以根据插入符位置在 QLineEdit 内进行输入过滤。
意思是如果我在位置0我只允许输入数字,但如果我在位置5我只允许输入字母?这只是一个例子,在实际应用中将实施更复杂的检查。
另外,我不想要 RE 解决方案 - RE 的编译和使用速度很慢。我想要一个本机 QT 解决方案,因为“掩码”将取决于用户输入。
谢谢你。
P.S.:我可以使用 wxWidgets 轻松完成,但我当前正在使用的项目是用 Qt 编写的。
QLineEdit
具有 setInputMask(QString &inputMask)
功能,它应该可以实现您想要的功能:
line.setInputMask(inputMask)
更新:
更好的方法是使用
setValidator(const QValidator *v)
。您需要子类化 QValidator,然后在其 validate()
函数中实现所需的行为。