gpt4 book ai didi

qt:将窗口移出屏幕后,如何将其移回默认位置,包括默认定位行为?

转载 作者:行者123 更新时间:2023-12-04 13:27:00 24 4
gpt4 key购买 nike

[qt 4.8]

为了获得正确的窗口尺寸,包括其框架,我执行以下操作(如 here 所述,请参阅 Daniel Hedberg 的评论)。

mainWindow.move(-50000, -50000);
mainWindow.show();

// do something with the window dimensions

mainWindow.move(0, 0);
mainWindow.show()

这工作正常,但是,我对 move(0,0) 调用有问题:它使窗口总是出现在位置 (0,0) ,虽然我想要默认行为,但应用程序仅向窗口管理器建议 (0,0) 是放置窗口的好位置,WM 可能会决定如有必要,请移动它以避免重叠。换句话说,我想切换回 Qt 的默认行为,就好像根本没有调用 move 一样。

我该怎么做?

最佳答案

一种解决方案是存储 Windows 原始位置并使用它。为了额外的安全(以防屏幕分辨率发生变化),请检查整个窗口是否仍然适合屏幕,如果不适合则移动甚至调整大小。

一个 hacky 的替代方法是创建并打开相同大小的空的、可能透明的虚拟窗口,然后查看它的位置。然后将原件移到那里并关闭虚拟的。仔细阅读您的问题,我认为这会满足您的要求。

我不知道 Qt 有什么方法可以让窗口管理器重新定位窗口,所以如果您真的需要它,请指定操作系统等详细信息。

关于qt:将窗口移出屏幕后,如何将其移回默认位置,包括默认定位行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19491185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com