信号QListWidget
用のスロットがあるコントロールがあります。selectionChanged
リストは複数選択用に構成されています。ユーザーがドラッグして複数のアイテムを選択しているときに、マウスボタンがまだ押されている間にスロットが呼び出されます。マウスボタンが離されるまで変更を処理したくありません。私が本当に必要としているのは、ある種の編集終了信号ですが、必ずしもコントロールへのフォーカスが失われる必要があるわけではありません。この初心者に手引きをお願いできますか?
質問する
943 次
1 に答える
0
http://doc.qt.io/qt-4.8/qlistwidget.html#signals
http://doc.qt.io/qt-4.8/qfocusevent.html
http://doc.qt.io/qt-4.8/qmouseevent.html
http://doc.qt.io/qt-4.8/qtimerevent.html
上記のイベントの組み合わせ、または既に に組み込まれているシグナルを使用してQListWidget
、「編集完了タイマー」を開始します。別のクリックまたは編集がある場合は、タイマーをリセットします。タイマーのタイムアウト時に、計算またはフィルタリングを行います。
例えば:
subclass QListWidget.
initialize the timer (singleshot, set at 750 ms or so)
itemSelectionChanged => start the timer
mousePressEvent => stop the timer
mouseReleaseEvent => start the timer
keyPressEvent => (shift),(ctrl), or (arrows) => stop the timer
keyReleaseEvent => (all keys released) => start the timer
focusOutEvent => start the timer
focusInEvent => stop the timer
connect the timer's timeout signal to a custom signal `myEditingFinished`
の外側で、QListWidget
そのmyEditingFinished
信号に接続するrunDatabaseQuery
か、何をしようとしているかに接続します。
それが役立つことを願っています。
于 2013-05-24T23:52:24.680 に答える