我有一个 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/