1

私の主な目標は、行編集に入るいくつかの文字を禁止することです。(!@#$%^&*()) 文字を禁止したいのですが、SQL データベースを使用していて、誰かがこの文字のフィルターなしでデータベースを損傷する可能性があるためです。 .setInputMask を使用しようとしましたが、この方法ではアルファベットしか使用できません。「Anna-Maria」などの名前には「-」記号も使用する必要があります。最後に、setInputMethodHints が機能せず、どうすればよいかわかりません。「危険な」文字を禁止する必要があるだけです。できればソースコードを教えてください。前もって感謝します。

4

1 に答える 1

2

QRegExpValidator を使用して、az AZ 0-9 および '-' 文字のみを許可します。さらに文字を追加したい場合は、 \charactor を rx(".."); に入れるだけです。\- を追加して「-」で行ったように

QRegExp rx("[a-zA-Z0-9\-]*");
ui.lineEdit->setValidator(new QRegExpValidator(rx,ui.textEdit));
于 2013-07-21T02:58:12.413 に答える