2010-10-20 22 views
0

我想做通用的方法來設置我的小工具的位置。 所有我想得到的是爲我的小部件設置正確的座標,這必須始終在桌面的右下角。我的小工具可以改變他的身高(或者可能是寬度),但它必須通過兩個縱座標調整大小......(太多的單詞)Qt QLayout QDesktopWidget

我的想法是使用QDesktopWidget作爲基本小部件放入我的QLayout中,對準內(我的)小部件權和底邊)

我的代碼的原型是在這裏:

QDesktopWidget * desktopWidget = QApplication::desktop(); 
MyWidget * myWidget = new MyWidget(desktopWidget); 
QVBoxLayout * vlayout = new QVBoxLayout; 
vlayout->addStretch(); 
vlayout->addWidget(myWidget); 
QHBoxLayout * hlayout = new QHBoxLayout(desktopWidget); 
hlayout->addStretch(); 
hlayout->addLayout(vlayout); 

,但它不工作...

請幫助我實現我的想法,如果你知道如何。 在這一刻,我只知道一個工作方式 - 它是手動設置小部件的位置,並處理很多事件(調整大小等) - 但這不好...(因爲我這樣做不好的原因;-) )

PS:與其他窗口小部件內qlayout是在視圖certer工作例如用QTextBrowser與sandclock等

+0

你應該嘗試用你得到的錯誤信息來替換「不工作」這樣的詞,或者描述你得到的行爲以及它的錯誤。 – 2010-10-20 22:41:35

+0

,因爲它無法使用這個「小部件」 – vinnitu 2010-10-21 06:39:55

回答

1

QDesktopWidget想法並不旨在像典型的微件(至少作爲要被使用據我所知,我很驚訝文檔沒有更明確)。因此,您不應該嘗試將小部件添加到它或嘗試爲其分配佈局。您可以調用其方法來獲取有關桌面環境的信息或連接到其信號以獲知變化。

使用此信息,您將設置您自己的應用程序小部件的幾何圖形,以使它們顯示在正確的屏幕上並放置您想要的位置。

This page顯示了一些基本功能。

+0

我明白了。這就是爲什麼我問如何以最好的方式做到這一點。你有想法嗎? – vinnitu 2010-10-21 06:38:41