2009-10-25 90 views
9

如何在Qt中重疊小部件?Qt Widget Overlays

我想創建一些小部件,並將它們放置在佈局外,而是在其他小部件的幾何體發生更改時調整它們的大小和位置。

喜歡的東西上的截圖按鈕:

alt text

回答

9

你只需要創建你的QPushButton(或任何QWidget),指出它的父QWidget然後顯示它。

不要將其添加到父佈局,否則您將無法將其移動到您想要的位置。

不要忘記指出它的父母,否則它將顯示爲獨立的QWidget。

在這些情況下,您的QPushButton將被視爲QWidget的子項,但不是父級佈局的成員。因此,它將是一個「浮動」的孩子,您必須在調整父母的QWidget時管理它的行爲。

如果你想要所有疊加按鈕的統一行爲,你應該子類QLayout並重新定義成員bahaviour。

+0

對於在屏幕截圖看到的右對齊,可以重新實現resizeEvent ()爲父窗口小部件,並在那裏手動移動子窗口小部件。 – 2010-08-31 13:03:08

3

如果他們是一個小部件的孩子沒有一個佈局,你應該能夠移動它們,請你,我想。

2

我需要一個像這樣的小部件的項目我的工作,所以我把帕特里斯意見和寫了這個代碼(Python)的PyQt4 Widget Overlay