2013-08-19 69 views
0

我想在QCoreApplication中使用QValidator及其子類(QRegExpValidator,QIntValidator),但會出現以下錯誤:「QValidator:No such file or directory」 如果我在.pro文件中添加以下行: 「QT + = gui」 - 一切正常,但這不是我的解決方案。在QCoreApplication中使用QValidator

是否有任何技術在QCoreApplications中使用QValidator?

+0

爲什麼你需要在qt核心應用程序中使用驗證器。 QValidator的設計與QLineEdit一起工作。 –

+0

我決定使用QValidator來驗證程序參數。 Smth是這樣的:if(validator.validate(QString(argv [1]),0)!= QValidator :: Acceptable ...例如,如果第一個參數是一個IP地址,我想檢查它的正確性 –

+0

所以QValidator是(你不需要中間狀態或遊標信息)'QRegExp','QString :: toInt','QString :: toDouble'應該做這個工作(如果你需要本地驗證,那麼' QLocale'應該沒問題) –

回答

1

不,這是不可能的。 QValidator是gui lib的一部分。我想Qt開發人員認爲QValidator只對Qt的文本輸入類有意義。我再次檢查,上面的陳述仍然是正確的。但是,我查看了代碼,QValidator不依賴於任何gui的東西。乍一看,它似乎是相當獨立的。所以你可能能夠從Qt源複製qvalidator.cpp和qvalidator.h到你的源代碼,做一個合理的調整量,並將其整合到你的代碼中。這可能是可能的,我不認爲這很容易。

+0

我認爲有一個簡單的黑客來做到這一點。無論如何謝謝你! –

相關問題