無論何時單擊一個選項卡並需要對該特定選項卡作出反應,我都需要顯示一個上下文菜單。有沒有辦法做到這一點,而不是繼承它?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。 – 2009-09-30 08:52:39
+2
如果他不熟悉installEventFilter,繼承是一種更簡單的方法。但讓他先試試你的第二個解決方案。 – 2009-09-30 09:00:52
相關問題
- 1. WeifenLuo.WinFormsUI.Docking的選項卡上下文菜單
- 2. 驗證每個選項卡的上下文菜單項
- 3. JavaFX:TabPane上下文菜單,取決於選定的選項卡
- 4. 從QTabWidget拖放選項卡
- 5. Visual Studio 2010:文檔選項卡上下文菜單的名稱
- 6. QTabWidget上的關閉按鈕而不是QTabWidget中的選項卡
- 7. eclipse視圖部分的擴展選項卡上下文菜單
- 8. 每個選項卡的ActionBarSherlock上下文菜單更改
- 9. 我如何從選項菜單項啓動上下文菜單?
- 10. 上下文菜單選定項wp7
- 11. 動態上下文菜單選項
- 12. 選項卡菜單中使用tabactivity和選項卡組上api16
- 13. 上下文菜單父項?
- 14. 上下文菜單項
- 15. GTK:定位上下文菜單項w.r.t上下文菜單
- 16. 無法使選項菜單..顯示爲上下文菜單Android
- 17. Android從菜單選項中創建上下文菜單
- 18. 從上下文菜單中選擇特定的菜單項
- 19. 選項卡菜單引導
- 20. 選項卡菜單重疊
- 21. 加載菜單選項卡
- 22. 如何選項卡菜單
- 23. HTML CSS選項卡菜單
- 24. 滑動菜單選項卡
- 25. 開關選項卡菜單
- 26. 添加菜單選項卡?
- 27. 垂直選項卡菜單
- 28. 避免QTabWidget中重複的選項卡
- 29. 使用按鈕更改QTabWidget選項卡
- 30. QTabWidget選項卡沒有顯示
你的第一個簡單的解決方案不會按他的意願工作。在當前選項卡上完成鼠標點擊後,將不顯示上下文菜單。 唯一的解決方案似乎是你的第二個解決方案。 – 2009-09-30 08:58:12