我想做一个通用的方法来设置我的小工具的位置。所有我想要得到的是为我的小工具设置正确的坐标,它必须始终在桌面的右下角。我的小工具可以改变他的高度(或宽度),但它必须通过两个坐标调整大小……(单词太多)
我的想法是使用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的想法正在与QTextBrowser一起工作,例如在视图中心使用sandclock等。
发布于 2010-10-21 06:39:48
QDesktopWidget的用法不同于典型的小部件(至少据我所知,文档没有更明确地说明这一点)。因此,您不应该尝试为它设置窗口小部件的父对象,也不应该尝试为其分配布局。您可以调用它的方法来获取有关桌面环境的信息,或者连接到它的信号以获得更改通知。
使用这些信息,您可以设置您自己的应用程序小部件的几何形状,以便它们显示在您想要的正确屏幕和位置上。
This page展示了一些基本功能。
https://stackoverflow.com/questions/3982688
复制相似问题