2013-07-20 57 views
1

我現在的主要目標是禁止一些字符進入行編輯。我想禁止(!@#$%^ & *())字符,因爲我使用SQL數據庫和某人可以損壞我的數據庫沒有過濾器爲這個chars.I試圖使用setInputMask,但以這種方式,我只能使用字母。我也需要使用' - '符號爲一些名稱,如「安娜瑪麗亞」。 最後,setInputMethodHints不起作用,我不知道該怎麼做。 我只需要禁止一些「危險」的字符。 如果可以,請爲我提供一些源代碼。 預先感謝您。Qt Creator setInputMethodHints不工作

回答

1

使用QRegExpValidator僅允許a-z A-Z 0-9和' - '字符。如果你想添加更多的字符,只需把\字符放入rx(「..」);就像我用' - '加'\'一樣加入\ -

QRegExp rx("[a-zA-Z0-9\-]*"); 
ui.lineEdit->setValidator(new QRegExpValidator(rx,ui.textEdit)); 
+0

謝謝很多人!昨天我爲此寫了自己的算法,但你的方式更好。現在一切正常。再次感謝;) – user2521257