gpt4 book ai didi

c++ - Qt - 拖动标题栏时防止窗口调整大小

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:39 24 4
gpt4 key购买 nike

我希望我的窗口总是最大化。我尝试设置:

setWindowFlags(Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
(...)
showMaximized();
setMinimumSize(QSize(width(), height()));
setFixedSize(QSize(width(), height()));

因此窗口已最大化打开,但我仍然可以单击其标题栏并将其向下拖动。这样做时,Windows (10) 会将窗口从最大化状态调整为正常状态。

如何为我的窗口禁用此行为?

最佳答案

我认为最大化窗口的概念对于维护可拖动窗口来说效率较低。相反,将窗口几何形状设置为最大屏幕尺寸,然后您可以根据需要拖动而无需系统调整窗口大小。为此,您需要一个 QDesktopWidget 实例,它提供屏幕的几何信息,例如完整的拉伸(stretch)宽度/高度。然后只需将您的窗口大小设置为固定这些信息即可。在您的主窗口 .cpp 中添加以下内容:

QDesktopWidget* myscreen = QApplication::desktop();
int width = myscreen->width();
int height = myscreen->height();
this->setFixedSize(width, height);
ui->setupUi(this);

......

编辑窗口仍然可以完全跟踪,您仍然可以使用 w.showMaximized(); 并且窗口不会在拖动时减小其大小。

关于c++ - Qt - 拖动标题栏时防止窗口调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49221901/

24 4 0