altairwei / WizNotePlus

A community-driven cross-platform note-taking client.
https://altairwei.github.io/WizNotePlus/
Other
578 stars 87 forks source link

Mac 非全屏退出重启后无法恢复窗口尺寸 #256

Open raymao9 opened 8 months ago

raymao9 commented 8 months ago

硬件架构:Intel Mac(X86)、M1(ARM64) 操作系统:MacOS 12.7.4(两台一样) 软件版本:WizNotePlus 2.12.0

问题:WizNotePlus 客户端在非全屏状态下,已经调整过的窗口尺寸,在退出后下一次启动程序时无法记忆恢复上次窗口大小,而是显示默认大小,效果如下图。

IMG_6413

由于原软件是在 X86 架构下编译的,所以我在 Intel Mac 上以 QT 5.14.2 版本进行 debug 和测试运行,并在源代码中加上输出每次窗口大小值的代码来进行对比,发现第一次开启(输出默认值)和第二次开启(理应恢复调整过的尺寸)输出的值确实不同,但肉眼可见的是两次开启的窗口都是一样的小。

以下截图步骤为: 1,首次打开窗口,显示的是默认窗口大小,并输出了一次窗口大小的值

1

2,将窗口拉大,然后 Command+Q 退出(一般会先完成同步线程才退出)

2

3,第二次打开窗口,显示的仍是默认窗口大小,但输出的窗口大小的值与第一次不同

3
altairwei commented 8 months ago

经过测试,保存和读取窗口尺寸的代码逻辑是正常运行的,问题可能出在 Qt 与 Mac 原生窗口的交互上,也许涉及到 framelesshelper 库。