如何防止弹出对话框改变其位置?

时间:2016-04-25 14:09:25

标签: c++ qt

在我的应用程序中,我有一个标有Insert的按钮,当点击它时,弹出一个对话框供用户写一些信息。在对话框的底部,有SaveExit按钮。单击Exit时,对话框将关闭。如果再次单击Insert按钮,将出现对话框,依此类推。

问题是每次对话框关闭然后打开时,对话框都会不断改变它在屏幕上的位置。水平位置是相同的,但它保持垂直位置几英寸。

如何修复此对话框的位置?!

1 个答案:

答案 0 :(得分:3)

窗口/对话框的放置通常由窗口管理器完成,通常应用某种(伪)智能算法。 E. g。在KDE上,您可以选择多种设置,例如智能零角落随机等。

要确保Qt对话框始终位于显示的相同位置,您必须使用QWidget::move()QWidget::restoreGeometry()自行保存和恢复位置,通常来自重新实现的{ {1}}广告位阅读这些方法的文档;这可能是毛茸茸的WRT绝对/相对位置。