2012-04-09 70 views
0

我現在有一個名爲編輯框類,它從QWidget中和的QTextEdit如何設置QDoubleValidator驗證器? (QValidator)

而且我想設置一個驗證這個文本編輯框繼承....

EditBox manbox; 

我如何設置一個驗證器爲0〜100?有2個小數點?

我已經試過

QDoubleValidator *testQD = new QDoubleValidator(manbox); 
testQD->setRange(0.00,100.00,2); 

QLineEdit *sb1 = new QLineEdit(manbox); 
sb1->setValidator(testQD); 

,但似乎不工作。任何地方出錯了?

或請指導我的地方,我可以找到完整的教程這一個。 謝謝!

+1

你首先說你的類繼承了QTextEdit,但是你在QLineEdit上設置了一個驗證器。這是什麼?另外,你能否更具體地說「似乎不工作」? – jdi 2012-04-09 02:23:26

+0

這是什麼意思'EditBox'在QWidget和QTextEdit之後繼承?它使用多重繼承嗎?你不能在QTextEdit對象上設置驗證器。在你的例子驗證器設置爲'sb1' QLineEdit。您只爲其父母設置「manbox」。 – doc 2012-04-09 02:24:44

回答

3

你不能設置校驗器QTextEdit,它僅適用於QLineEdit(含和輸入窗件QLineEditQSpinBoxQComboBox ...)。

如果你只需要一條線,並限制內容的數字,你還可通過QLineEditQDoubleSpinBox更換QTextEditEditBox類。