2011-09-08 76 views
1

我想用我的qt gui創建一個簡單的效果,但我不知道如何實現此目的。當鼠標懸停在它上方時,會畫出更大的qt小部件(小部件重疊)

我有幾個小部件,我作爲qwidget的子類實現。這些是另一個小部件的一部分,並在佈局中生活。當鼠標懸停在這些小部件上時,我希望它們看起來更大,以突出顯示所選小部件。

這就是我已經嘗試過的: 覆蓋繪畫事件,並將其繪製得更大。但是,那些同樣佈局的其他小部件也會覆蓋過大的區域。

我也嘗試從父窗口調用「手動」繪畫功能來控制繪畫順序。但那也沒有幫助。

我認爲必須有一種可能性來實現這種qt的效果,但我根本不知道如何。 任何想法?

+0

我不認爲「繪製它更大」是一個好主意,但是當你這樣做時,你是否嘗試'raise()'小部件? – Mat

+0

但我想部件真的變得更大。不幸的是'raise()'不能阻止小部件被其他小部件覆蓋。如果這有幫助:我想對自動隱藏部件有類似的效果,例如visual studio的解決方案資源管理器。 – Valerie

+0

然後用'resize()'使它更大,但是這可能會讓你的佈局變得糟糕。您可以設法使其與間隔符一起工作。我不知道,我不喜歡在鼠標下移動的東西。改變顏色/突出顯示雖然可以。 – Mat

回答

0

你既可以:

  • 創建GUI一個QGraphicsView內部,QGraphicsWidget S和使用setScale當鼠標進入或離開窗口小部件,或
  • 使用QML。
相關問題