2012-02-08 1 views
0

私のようなテキストinitでQTextEditを持っています。今、私は、ユーザーがテキスト領域の文字列が削除され、テキスト領域にそのマウスカーソルを入力したときに一度だけそのトリガーそのスタート信号を希望QTextEditでは、ユーザーがテキスト領域にカーソルを1回だけ挿入すると、どのように検出できますか?

write something here.... 

書き込む準備が整います。 ウィジェットが起動しているときに一度だけトリガーする必要があります。

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

が、私は一度それをトリガーする方法がわからない、またはそれは、このための正しい方法です:
私は発見しました。

答えて

2

disconnectその接続は、Positionスロットに接続できます。そうすれば、スロットは一度だけトリガーされます。

もう1つのオプションは、スロットが呼び出されたときに何かを行う必要があるかどうかを示すシグナルを受け取るオブジェクトにブール値を保持することです。

(おそらく、自分がそのスロットを「再武装」したい見つけることができます。もう一度connectを呼び出す、またはそのブール値をリセットし、あなたが選択したものをオプションに応じてどちらか。)

1

をごQTextEditウィジェットは、単一の行である場合代わりにQLineEditウィジェットを使用することを検討してください。その後、setPlaceholderText("write something here.... ")に電話して、効果を得ることができます。詳細についてはClick hereをご覧ください。

+0

よく、私はboolインジケータ付きのイベントフィルタで使用しました – user63898

関連する問題