2013-01-09 85 views
1

我有一個QLineEdit,我用它來測量轉換應用程序。在那QLineEdit我不得不使用整數值,所以我使用了QDoubleValidatorQLineEdit只接受整數和「和/字符?

q_LineEdit->setValidator(new QDoubleValidator(this)); 

現在我想的QLineEdit只接受「和/字符到它,以及整數,因爲它需要轉換的應用程序。我怎樣才能讓我的QLineEdit同時採用了QDoubleValidator接受呢?

注:我想我QLineEdit接受這樣的事情(例如70「 1/2

注:QLineEdit不應接受「and /」以外的任何其他字符。

回答

3

最後我自己想出了答案。這很簡單。只需使用QRegExpValidator即可。 這裏是我的一段代碼:

QRegExp rx("(|\"|/|\\.|[0-9]){30}"); 
m_LineEdit->setValidator(new QRegExpValidator(rx, this)); 
+1

你也可以使用QRegExp或QRegularExpression修復正是在您QLabel接受。您提供的正則表達式允許「」「70」「1/21/5」12「/ 51 /」5「65 //'作爲有效值;) 'QRegExp rx(」[0-9] {2} \「[0-9] \/[0-9]」);'可能更好,你只需要修復你在每一步中接受的數字 – Antwane

相關問題