タブをクリックしてその特定のタブに反応する必要があるたびにコンテキストメニューを表示する必要があります。サブクラス化せずにこれを行う方法はありますか?QTabWidgetタブのコンテキストメニュー
6
A
答えて
5
簡単な方法が、おそらくない正確に何が必要:
- 接続信号に接続されているスロットにあなたのQTabWidget
- の「currentChanged」信号には、QMenuを作成し、それを移入
- 最後に、信号に接続されているスロットに、QMenu :: Execの呼び出し(QCursor :: POS())
を、必要に応じてこれはタブが変更されるたびに呼び出される関数(ないneceを取得します)と は、現在のマウス位置にメニューを生成します。
正確にあなたが記述何が複雑な方法、:あなたのQTabWidgetの
- コールQObject::installEventFilter、あなたのQTabWidget上のすべてのイベントが独自のオブジェクトにリダイレクトされるように。
- オブジェクトには、QObject::customEventを再実装し、すべてのQMouseEventイベントを処理します。
- 必要に応じてQMenuを設定し、処理しているQMouseEventの位置でQMenu :: execを呼び出します。
0
QTabWidgetから継承する独自のクラスを作成し、右クリックしてコンテキストメニューを作成できるMousePressEvent(QMouseEvent)保護機能をオーバーライドする必要があると思います。
+0
-1なぜなら、彼はQTabWidgetをサブクラス化せずに自分が望むものを達成するための方法を尋ねてきたからです。 –
+2
もし彼がinstallEventFilterに慣れていないなら、継承は簡単な方法です。しかし、まずは彼の2番目の解決策を試してみましょう。 –
関連する問題
- 1. QTabWidgetの閉じるボタンQTabWidgetのタブではありません
- 2. QTabWidgetの縦のタブが、テキストは水平
- 3. Trigger Close PySideのタブのイベントQTabWidget
- 4. QTabWidgetのタブのウィジェットにアクセスする
- 5. QTabWidgetのタブの隣にあるQWidget
- 6. QT Qtabwidgetのタブを識別する
- 7. Qt作成者の反転タブQTabWidget?
- 8. あるタブから別のタブにウィジェットをコピーするときのQTabWidget
- 9. 閉じるタブQTabWidgetを防ぐには?このコードではPyQT4
- 10. スタイルシートを使って特定のQTabWidgetタブを確認する
- 11. QTabWidgetのタブ上でマウスカーソルを設定する方法
- 12. QTabWidgetにアイコンを追加する方法(各タブではない)
- 13. ボタンを使ってQTabWidgetタブを変更する
- 14. 高さと幅を変更する方法QTabWidgetタブ
- 15. QTabWidgetのPyQtマウスイベント
- 16. 複数行のQTabWidget?
- 17. PySide QTabWidgetリサイズイベント
- 18. QTabWidgetの現在のタブを名前で設定する方法は?
- 19. QTabWidgetの特定のタブ内でウィジェットを参照する方法は?
- 20. QTabWidgetの個々のタブをタブ番号で参照することはできますか?
- 21. PyQt5 - QTabWidget - すべてのタブを同じ幅で拡張可能にする
- 22. PyQt4:QTabWidgetを使用して、「タブ移動」SIGNALを取得できますか?
- 23. 各タブのコンテキストメニュー項目を検証する
- 24. QTabWidgetのタブサイズを変更
- 25. Mac OS Siera PyQt5 QTabWidget問題
- 26. コンテキストメニュー
- 27. QTabWidgetのアイコンがありません
- 28. QTabWidgetのシグナルが検出されない
- 29. QTabWidgetの背景色をリセットする
- 30. QTabWidgetのタブバーを拡張するには?
あなたの最初の簡単な解決策は、彼が望むように動作しません。コンテキストメニューは表示されません。現在のタブでマウスクリックが行われます。 唯一の解決策は、あなたの2番目の解決策です。 –