2012-05-26 34 views
0

我想在Windows上使用Qt 4.8的幫助來製作我自己的動畫GUI。在開始時我使用了小部件和Qt設計器來放置一個水平/網格/ etc佈局,並放入正常的小部件中,但是我發現使它們隨動畫框架一起移動並不容易。所以我切換到QGraphicsScene/QGraphicsView,這似乎更簡單的使用動畫。我會做一個簡單的菜單,其中有主要項目,當徘徊使得可見的子菜單項。簡單一點,關於下拉菜單。我放置了QGraphicsTextItem項目,但我仍不明白如何連接主項目的懸停事件以顯示子菜單項目。任何想法?目前,我有一個帶有QGraphicsView小部件的QMainWindow,它將佔用所有區域。在QGraphicsTextItem上使用Qt和鼠標懸停的動畫GUI

回答

1

您可以通過創建您自己的專用子類QGraphicsTextItem並重新實​​施hoverEnterEventhoverLeaveEvent方法來在懸停時顯示子菜單(或執行任何您想要的操作)。

確保您已閱讀setAcceptHoverEvents文檔,以便您瞭解何時以及爲哪些項目生成這些事件。

+0

我閱讀了文檔,並且完成了支持懸停事件的自己的類。它的工作原理,但我仍然不明白怎樣才能「鏈接」菜單項的行爲,就像我會做一個真正的QT菜單,以及如何當他們的主菜單項懸停時顯示一些子項目 – Stefano

+0

嗯,你只是編寫這樣做的代碼。如果需要在文本項目懸停時顯示某些內容,請將鼠標懸停的「show()」項目輸入,並在離開時「隱藏()」。或者在懸停時創建項目,並在請假時將其刪除。沒有魔法,你需要編碼你想要發生的動作。 – Mat

+0

會更好地使用QToolButton來連接QActions,就像我通常會做的那樣? – Stefano

相關問題