2010-10-20 24 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