問題タブ [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.
c++ - フィルター最小化イベント
QMdiSubWindow
ウィンドウを単純化できるように、最小化イベントをフィルター処理する必要がありますhide()
。
私は次のことを試しました:
これにより、最大化など、すべてのウィンドウ状態の変更がフィルター処理されます。最小化イベントのみが必要です。
event->ignore()
何も無視しません。も試しevent->setAccepted(false)
ましたが、これもイベントのキャンセルに失敗しました。
qdialog - マウスイベントを無効なウィジェットにフラッシュします
ボタンが少ないダイアログがあります。ダイアログを無効にして子ボタンをクリックしても、何も起こりません。ただし、ダイアログを再度有効にするとすぐに、ボタンのマウスイベントが処理されます。
ダイアログを無効にすると、子ウィジェットのマウスイベントの処理が再び有効になるまで遅延するだけですか?
ダイアログが無効になっているときに子ウィジェットのイベントフィルターをインストールし、再度有効にしたときにイベントフィルターを削除してみました。しかし、それは同じ振る舞いを提供します。ダイアログが有効になると、つまり子ウィジェットのイベントフィルタが削除されるとすぐに、マウスイベント(無効の場合)が処理されます。
誰かがここで何が悪いのか助けてもらえますか?
c++ - 「Tab」キーを押すとQEvent::ShortcutOverrideイベントのみが発行されるのはなぜですか?
バックグラウンド
カスタムウィジェットを作成し、カスタムアイテムデリゲートで使用するためのウィジェットをQLineEdit
いくつか作成しました。QPushButtons
私はそれらを次QListView
のQStandardItemModel
ようにバインドします:
質問
キーが押されたPropertyDelegate::eventFilter
ときにイベントのみが発生するのに、他のキーを押すと両方のイベントが発生するのはなぜですか?Tab
QEvent::ShortcutOverride
QEvent::ShortcutOverride
QEvent::KeyPress
UPD:標準のウィジェットで押すTab
などして、行間の移動を実装したいと思います。Backtab
qt - event(QEvent*) は mousePressEvent(QMouseEvent *) と競合しますか?
QT: QToolButton から継承されたクラスを使用して event(QEvent*) を書き換えます。「mousePressEvent」を追加したいのですが、ヒットしません。event(QEvent*) は mousePressEvent(QMouseEvent *) と競合しますか? ありがとうございました。
クラスは次のとおりです。
qt - Qt ユーザーが最後にフォーカスを設定した要素のウィジェットを知る方法
Qt。フォームがあります。他のウィジェット、ボタン、ライン編集などを含む 2 つのウィジェットがあります。ユーザーがフォーカスを設定するとき、マウスでクリックするとき、または含まれている最初のウィジェットまたは要素で何かを行うときに、変数を 0 に設定する必要があります。 . 彼が 2 番目のウィジェットで同じことを行う場合、変数を 1 に設定する必要があります。
c++ - アプリケーションが Qt でフォーカスを失ったことを検出するにはどうすればよいですか?
マウス カーソルが特定のウィジェットの上にあるときにポップアップ ウィンドウを表示しています。マウスがウィジェットから離れたときにこのポップアップを非表示にしたいと考えています。
それを行うために、私は再実装しleaveEvent()
ました。これは、別のアプリケーションに切り替える場合を除いて、すべての場合に機能するようAlt+Tab
です。おそらく別のイベントをキャッチする必要があることがわかりましたが、どういうわけか適切なイベントが見つかりません。1つ提案できますか?
qt - サブクラスで基底クラスのイベント ハンドラを呼び出す必要はありますか?
サブクラスQWidget::keyPressEvent(QKeyEvent *e)
で再実装したとします。
最後に基本クラスの実装を呼び出す必要がありますか?
例:
もしそうなら、それをする意味は何ですか?
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);
。違う。
編集:ここにバックトレースがあります:
qtextedit - QTextEdit では、マウス クリック イベントに応答できません
mouseDoubleClickEvent を使用したいのですが、これは私のコードです:
textEdit->setMouseTracking(true);
誰が私を助けることができます ?ありがとうございます
qt - QEventfilter クラスのグローバル イベント キャッチ
Qt アプリケーションのヘルプ Web ページを追加したいと考えています。ユーザーは、Qt::WhatsThis の「ツールチップ」を使用して、トピックに関する説明と Web ページへの URL を表示できます。WhatsthisTooltips を Qt Designer で編集し、言語に依存しないようにしています。
ここで、フィルタリング用の「LinkFilter」クラスを作成し、それをビュークラスにインストールして、QEvent::WhatsThisClicked イベントに反応します。これはうまくいきます。
今、私はアプリケーションですべての QEvent::WhatsThisClicked をキャッチしますが、本当にすべてのダイアログ/ビュー/アクション/ウィジェットにインストールするのは本当に面倒です。これはある種のグローバルな eventHandler です。「LinkEvent」クラスをインストールできますか? これを解決するための素敵な Qt スタイルの方法が必要です。
EventFilter をインストールするために、私はこのビデオチュートリアルhttp://youtu.be/DHgbYxpZkbgに強く従いました