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

标签 c++ qt

在我的应用程序中,我有一个标记为 Insert 的按钮,单击该按钮时,会弹出一个对话框供用户输入一些信息。在对话框的底部,有SaveExit 按钮。单击 Exit 时,对话框将关闭。如果再次单击Insert 按钮,将出现对话框等。

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

如何固定这个对话框的位置?!

最佳答案

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

要确保 Qt 对话框始终放置在显示的相同位置,您必须使用 QWidget::move()QWidget 自己保存和恢复位置: :restoreGeometry(),通常来自重新实现的 show() 插槽。阅读此方法的文档;这可能是毛茸茸的 WRT 绝对/相对位置。

关于c++ - 如何防止弹出对话框改变其位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36843031/

相关文章:

c# - 在 C++ 的另一个类中调用枚举

c++ - 无法用 C++ 将消息写入文件?

C++检查从文件中读取的最后一件事是否是数字

c++ - 使用 std::unordered_map<int, int> 而不是 std::map<int, int> 有意义吗?

C++返回值优化

c++ - 从 QT 按钮运行外部程序

c++ - 正确终止一个 QThread

c++ - 如何将宏 SIGNAL 和 SLOT 实现为函数 QT

qt - Qml 中的属性 contentItem

c++ - 在 Visual Studio 2015 下使用 Microsoft Visual C++ 2013 编译