【发布时间】:2010-10-21 06:39:48
【问题描述】:
我想做一个通用的方法来设置我的小部件的位置。 我想要得到的只是为我的小部件设置正确的坐标,它必须始终位于桌面的右下角。我的小部件可以改变他的高度(或者可能是宽度),但它必须通过两个坐标调整大小......(字太多)
我的想法是使用 QDesktopWidget 作为基本小部件,将带有分层项的 QLayout 放入我的 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 在视图中使用沙钟等。
【问题讨论】:
-
您应该尝试用您收到的错误消息替换“不起作用”之类的词,或者描述您确实收到的行为及其问题所在。跨度>
-
因为它不能与这个“小部件”一起使用