c++ - Qt QDialog 每次关闭并再次显示时都会稍微移动位置

标签 c++ qt qdialog

我有一个 QDialog,它在第一次打开时作为顶层窗口在我的主窗口中央弹出(太棒了,正是我想要的)。但是,每次我点击“X”关闭窗口时,当我触发一个事件导致 QDialog 再次弹出时(我为此使用 show() 函数)......小部件略微向下移动到对(每次可能每路 10 个像素)。有谁知道是什么导致了这种行为/有解决方案吗?理想情况下,我希望它始终弹出在我的主窗口的中央(就像它第一次打开时那样)。

提前致谢。

commandTimeWindow = new QDialog();
commandTimeWindow->resize(390, 180);
commandTimeWindow->setWindowTitle("Command In Progress");
commandTimeWindow->setStyleSheet("background-color: white;");
commandTimeWindow->setWindowFlags(Qt::WindowTitleHint |     Qt::WindowCloseButtonHint);
commandTimeWindow->setWindowIcon(QIcon(""));
commandTimeWindow->installEventFilter(this);


 commandTimeWindow->close();

 commandTimeWindow->show();

标准的“X”按钮也会关闭窗口...但我没有为此编写任何代码。

最佳答案

您可以使用小部件的 move(x, y) 方法或将 resize 替换为 setGeometry。

关于c++ - Qt QDialog 每次关闭并再次显示时都会稍微移动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927761/

相关文章:

c++ - 错误生成组合问题的非递归方法

qt - 更改禁用的 QIcon 色调颜色

c++ - QDialog 返回值,仅接受或拒绝?

c++ - 带隐藏和 WA_QuitOnClose 的 Qt QDialog

c++ - 如何在 Maya API C++ 中创建多边形

c++ - MAPI 可以信任不可变字符串吗?

c++ - 将 C++ 类引入 Octave

javascript - 将 Javascript 回调传递给 Qml 中的 C++ 调用方法

c++ - QT 5.3 发布应用

c++ - 快速调用显示/隐藏时,QT QDialog 无法正确隐藏