2013-07-03 59 views
4

QRegExpValidator可以與QTextEdit小部件一起使用嗎?QREgExpValidator與QTextEdit

我試圖通過setValidator()來實現,並且還將qtextedit設置爲父對象。但它不工作。

+0

您是不是指'QLineEdit'?我在'QTextEdit'類中看不到'setValidator()'方法。從'QLineEdit'開始,驗證器應該正常工作,需要更多信息來查看錯誤的位置。 – SpongeBobFan

+0

我需要在QTextEdit中使用。我也沒有看到setValidator()函數。所以,我想要一些實現的例子(這可以以任何其他方式使用嗎?)。 –

回答

2

您應該使用
virtual QValidator::State QRegExpValidator::validate(QString & input, int & pos) const

bool QRegExp::exactMatch(const QString & str) const
自己。它不應該很難,你只需要確定從哪裏開始驗證。

+0

你能給我舉一些例子或鏈接,這些東西已經完成了嗎? –

+0

只有在可以使用qtextedit設置驗證器時才能調用validate()。 –

+1

我不能提供任何示例,但它應該很容易將您的插槽連接到'textChanged()'信號(或任何想要成爲驗證觸發器的事件)並調用QRegExpValidator :: validate()我確定它可以在不將驗證器設置爲QTextEdit的情況下使用)或QRegExp :: exactMatch()。您需要自行向用戶提供驗證狀態信息。所有這些應該很容易實現 – SpongeBobFan

-1

可以做下列事情

  • 定義另一個槽時框TextChanged()信號 發射
  • 發射的信號與兩個參數將被調用(在的QTextEdit數據和 長度相同的數據的)
  • 將validate()插槽與上述插槽連接
+0

可能它不起作用... –