2012-02-08 60 views
0

我與文字的init喜歡的QTextEdit:在QTextEdit中,如何檢測用戶何時將光標插入文本區域?

write something here.... 

現在我想的是觸發只有一次,所以當用戶輸入的鼠標光標移動到字符串會刪除文本區和文本區的啓動信號將準備寫入。 我只需要在觸發器啓動時觸發一次。
我只找到了:

connect(textEdit, SIGNAL(cursorPositionChanged(int para, int pos)), 
     <.....>, SLOT(Position (int para, int pos))); 

,但我不知道如何觸發一次,或者是它的正確方法。

回答

2

你可以在Position插槽中連接disconnect。那種方式只會觸發一次。

另一種方法是簡單地在接收信號的對象中保留一個布爾值,該信號指示在調用插槽時是否應該執行某些操作。

(您可能會發現自己想「重新武裝」該插槽。無論再打電話connect,或重置布爾,這取決於你選擇什麼樣的選擇。)

1

如果您QTextEdit部件是隻有一行,您可能需要考慮使用QLineEdit小部件。然後你可以撥打setPlaceholderText("write something here.... ")來獲得你想要的效果。 Click here欲瞭解更多信息。

+0

以及我用在事件過濾器與布爾指標 – user63898 2012-02-09 03:55:28

相關問題