我现在的主要目标是禁止一些字符进入行编辑。我想禁止(!@#$%^&*())字符,因为我确实使用SQL数据库,如果没有这个字符的过滤器,有人可能会损坏我的数据库。我试着使用setInputMask,但这样我只能使用字母表。有些名字,比如"安娜玛利亚",我也需要用"-"号。最后,setInputMethodHints不起作用,我不知道该怎么办。我只需要禁止一些"危险"的字符。如果可以的话,请给我一些源代码。提前谢谢。
使用QRegExpValidator只允许a-z a-z 0-9和'-'字符。如果你想添加更多的字符,只需在rx("..");就像我添加了对"-"所做的那样
QRegExp rx("[a-zA-Z0-9-]*");
ui.lineEdit->setValidator(new QRegExpValidator(rx,ui.textEdit));