我有一个QDialog,其中有一个可检查的按钮,可以打开/关闭(隐藏/显示)另一个窗口(该窗口也是QDialog)。
我的问题是我希望在隐藏并打开第二个QDialog时保持其位置(示例:我将QDialog移到屏幕的一个角落,当我隐藏然后显示它时,QDialog必须位于同一角)。
此时,它似乎已恢复到初始位置。我在similar上找到了类似的文章,但就我而言,我有两个单独的窗口,可以在屏幕上移动第二个QDialog。有人遇到这个问题吗?
最佳答案
AFAIK无需任何代码即可工作:显示/隐藏小部件时位置不变。
无论如何,您可以通过geometry来存储QDialog
的位置:
// save geometry
QRect geometry = my_dialog->geometry();
my_dialog->hide();
// restore geometry
my_dialog->show();
my_dialog->setGeometry(geometry);
请注意,几何图形是相对于父几何图形的:我在这里假设您的
QDialog
是无模的。关于c++ - 如何在隐藏/显示上保持QDialog的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40487851/