我有一个 QDialog,我有一个可检查的按钮,可以打开/关闭(隐藏/显示)另一个窗口(该窗口也是一个 QDialog)。
我的问题是我希望在隐藏和打开后保持第二个 QDialog 的位置(例如:我将 QDialog 移动到屏幕的角落,当我隐藏然后显示它时,QDialog 需要在同一个角落)。
这一刻仿佛恢复到了最初的位置。我发现了一个关于它的类似的文章在相似,但在我来说,我有两个独立的窗口,我可以在屏幕上移动第二QDialog的。有没有人遇到过这个问题?
AFAIK 这无需任何代码即可工作:显示/隐藏小部件时位置不会改变。
无论如何,您可以QDialog通过几何存储您的位置:
// save geometry
QRect geometry = my_dialog->geometry();
my_dialog->hide();
// restore geometry
my_dialog->show();
my_dialog->setGeometry(geometry);
Run Code Online (Sandbox Code Playgroud)
请注意,几何是相对于父级的:我在这里假设您QDialog是无模式的。
| 归档时间: |
|
| 查看次数: |
1709 次 |
| 最近记录: |