在我的应用程序中,我有一个标记为 Insert
的按钮,单击该按钮时,会弹出一个对话框供用户输入一些信息。在对话框的底部,有Save
和Exit
按钮。单击 Exit
时,对话框将关闭。如果再次单击Insert
按钮,将出现对话框等。
问题是对话框在每次关闭然后打开时都会不断改变其在屏幕上的位置。水平位置是相同的,但是它一直向下垂直位置几英寸。
如何固定这个对话框的位置?!
最佳答案
窗口/对话框的放置通常由您的窗口管理器完成,通常应用某种(伪)智能算法。例如在 KDE 上,您可以在多个设置之间进行选择,例如智能、零角、随机等。
要确保 Qt 对话框始终放置在显示的相同位置,您必须使用 QWidget::move()
或 QWidget 自己保存和恢复位置: :restoreGeometry()
,通常来自重新实现的 show()
插槽。阅读此方法的文档;这可能是毛茸茸的 WRT 绝对/相对位置。
关于c++ - 如何防止弹出对话框改变其位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36843031/