問題タブ [qevent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1848 参照

c++ - フィルター最小化イベント

QMdiSubWindowウィンドウを単純化できるように、最小化イベントをフィルター処理する必要がありますhide()

私は次のことを試しました:

これにより、最大化など、すべてのウィンドウ状態の変更がフィルター処理されます。最小化イベントのみが必要です。

event->ignore()何も無視しません。も試しevent->setAccepted(false)ましたが、これもイベントのキャンセルに失敗しました。

0 投票する
0 に答える
538 参照

qdialog - マウスイベントを無効なウィジェットにフラッシュします

ボタンが少ないダイアログがあります。ダイアログを無効にして子ボタンをクリックしても、何も起こりません。ただし、ダイアログを再度有効にするとすぐに、ボタンのマウスイベントが処理されます。

ダイアログを無効にすると、子ウィジェットのマウスイベントの処理が再び有効になるまで遅延するだけですか?

ダイアログが無効になっているときに子ウィジェットのイベントフィルターをインストールし、再度有効にしたときにイベントフィルターを削除してみました。しかし、それは同じ振る舞いを提供します。ダイアログが有効になると、つまり子ウィジェットのイベントフィルタが削除されるとすぐに、マウスイベント(無効の場合)が処理されます。

誰かがここで何が悪いのか助けてもらえますか?

0 投票する
1 に答える
4661 参照

c++ - 「Tab」キーを押すとQEvent::ShortcutOverrideイベントのみが発行されるのはなぜですか?

バックグラウンド

カスタムウィジェットを作成し、カスタムアイテムデリゲートで使用するためのウィジェットをQLineEditいくつか作成しました。QPushButtons

私はそれらを次QListViewQStandardItemModelようにバインドします:

質問

キーが押されたPropertyDelegate::eventFilterときにイベントのみが発生するのに、他のキーを押すと両方のイベントが発生するのはなぜですか?TabQEvent::ShortcutOverrideQEvent::ShortcutOverrideQEvent::KeyPress

UPD:標準のウィジェットで押すTabなどして、行間の移動を実装したいと思います。Backtab

0 投票する
1 に答える
1303 参照

qt - event(QEvent*) は mousePressEvent(QMouseEvent *) と競合しますか?

QT: QToolButton から継承されたクラスを使用して event(QEvent*) を書き換えます。「mousePressEvent」を追加したいのですが、ヒットしません。event(QEvent*) は mousePressEvent(QMouseEvent *) と競合しますか? ありがとうございました。

クラスは次のとおりです。

0 投票する
2 に答える
3973 参照

qt - Qt ユーザーが最後にフォーカスを設定した要素のウィジェットを知る方法

Qt。フォームがあります。他のウィジェット、ボタン、ライン編集などを含む 2 つのウィジェットがあります。ユーザーがフォーカスを設定するとき、マウスでクリックするとき、または含まれている最初のウィジェットまたは要素で何かを行うときに、変数を 0 に設定する必要があります。 . 彼が 2 番目のウィジェットで同じことを行う場合、変数を 1 に設定する必要があります。

0 投票する
1 に答える
7763 参照

c++ - アプリケーションが Qt でフォーカスを失ったことを検出するにはどうすればよいですか?

マウス カーソルが特定のウィジェットの上にあるときにポップアップ ウィンドウを表示しています。マウスがウィジェットから離れたときにこのポップアップを非表示にしたいと考えています。

それを行うために、私は再実装しleaveEvent()ました。これは、別のアプリケーションに切り替える場合を除いて、すべての場合に機能するようAlt+Tabです。おそらく別のイベントをキャッチする必要があることがわかりましたが、どういうわけか適切なイベントが見つかりません。1つ提案できますか?

0 投票する
1 に答える
1102 参照

qt - サブクラスで基底クラスのイベント ハンドラを呼び出す必要はありますか?

サブクラスQWidget::keyPressEvent(QKeyEvent *e)で再実装したとします。

最後に基本クラスの実装を呼び出す必要がありますか?

例:

もしそうなら、それをする意味は何ですか?

0 投票する
0 に答える
621 参照

qt - QObject 自動削除

予期しないときに削除される QObject に問題があります。

私はこのクラスを持っています (Q_OBJECT を宣言していないことに注意してください)

QTreeWidget を含むクラスでこのオブジェクトを作成して使用します。時々、このクラスは MyEntry の 1 つを別のクラスに「送信」します。このクラスは、送信されている MyEntry からの情報を使用して、保持している QLabel にテキストを設定します。次の QEvent を使用します。

このイベントを次のように送受信します (レシーバーは parent() で、lp_currentEntry は MyEntry オブジェクトです)。

私が抱えている問題は、イベントが配信されるとすぐに MyEvent が削除されることです。ただし、含まれている MyEntry のデストラクタも呼び出されます。MyEvent を親として使用して MyEntry を作成したことがないのに、なぜ削除されるのですか?

postEvent は通常、UI スレッドではないスレッドによって実行され、UI 以外のスレッドは QLabels などを更新すべきではないと確信しているため、このセットアップを使用しています(MyOtherClass*)parent()->updateLabels(lp_currentEntry);。違う。

編集:ここにバックトレースがあります:

0 投票する
0 に答える
374 参照

qtextedit - QTextEdit では、マウス クリック イベントに応答できません

mouseDoubleClickEvent を使用したいのですが、これは私のコードです: textEdit->setMouseTracking(true);

誰が私を助けることができます ?ありがとうございます

0 投票する
1 に答える
1497 参照

qt - QEventfilter クラスのグローバル イベント キャッチ

Qt アプリケーションのヘルプ Web ページを追加したいと考えています。ユーザーは、Qt::WhatsThis の「ツールチップ」を使用して、トピックに関する説明と Web ページへの URL を表示できます。WhatsthisTooltips を Qt Designer で編集し、言語に依存しないようにしています。

ここで、フィルタリング用の「LinkFilter」クラスを作成し、それをビュークラスにインストールして、QEvent::WhatsThisClicked イベントに反応します。これはうまくいきます。

今、私はアプリケーションですべての QEvent::WhatsThisClicked をキャッチしますが、本当にすべてのダイアログ/ビュー/アクション/ウィジェットにインストールするのは本当に面倒です。これはある種のグローバルな eventHandler です。「LinkEvent」クラスをインストールできますか? これを解決するための素敵な Qt スタイルの方法が必要です。

EventFilter をインストールするために、私はこのビデオチュートリアルhttp://youtu.be/DHgbYxpZkbgに強く従いました