You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
我用的是Windows 10 on Arm64,版本号是21390.1,因为是mingw编译就没有安装Windows SDK,之前反馈的用户用的是Windows 10 22H2(19045.4842),Qt 6.5.1, msvc,也同样出现了这个问题。
你可以试试把src/widgets/widgetwindowagent_win.cpp的setupWindows10BorderWorkaround的实现全部注释掉,再看看问题会不会复现。这个函数是为了解决windows10开启无标题栏以后系统上边框消失的问题的,具体做法就是窗口重绘时在最顶上画一条黑线(反正微软就是这么做的,这个参考了 Windows Terminal 的代码)。有可能是开启blur以后与这个workaround产生冲突了。
我用的是Windows 10 on Arm64,版本号是21390.1,因为是mingw编译就没有安装Windows SDK,之前反馈的用户用的是Windows 10 22H2(19045.4842),Qt 6.5.1, msvc,也同样出现了这个问题。
你可以试试把src/widgets/widgetwindowagent_win.cpp的setupWindows10BorderWorkaround的实现全部注释掉,再看看问题会不会复现。这个函数是为了解决windows10开启无标题栏以后系统上边框消失的问题的,具体做法就是窗口重绘时在最顶上画一条黑线(反正微软就是这么做的,这个参考了 Windows Terminal 的代码)。有可能是开启blur以后与这个workaround产生冲突了。
我用的是Windows 10 on Arm64,版本号是21390.1,因为是mingw编译就没有安装Windows SDK,之前反馈的用户用的是Windows 10 22H2(19045.4842),Qt 6.5.1, msvc,也同样出现了这个问题。
你可以试试把src/widgets/widgetwindowagent_win.cpp的setupWindows10BorderWorkaround的实现全部注释掉,再看看问题会不会复现。这个函数是为了解决windows10开启无标题栏以后系统上边框消失的问题的,具体做法就是窗口重绘时在最顶上画一条黑线(反正微软就是这么做的,这个参考了 Windows Terminal 的代码)。有可能是开启blur以后与这个workaround产生冲突了。
我用的是Windows 10 on Arm64,版本号是21390.1,因为是mingw编译就没有安装Windows SDK,之前反馈的用户用的是Windows 10 22H2(19045.4842),Qt 6.5.1, msvc,也同样出现了这个问题。
你可以试试把src/widgets/widgetwindowagent_win.cpp的setupWindows10BorderWorkaround的实现全部注释掉,再看看问题会不会复现。这个函数是为了解决windows10开启无标题栏以后系统上边框消失的问题的,具体做法就是窗口重绘时在最顶上画一条黑线(反正微软就是这么做的,这个参考了 Windows Terminal 的代码)。有可能是开启blur以后与这个workaround产生冲突了。
Activity
SineStriker commentedon Sep 9, 2024
为啥我的win10上没复现
mentalfl0w commentedon Sep 9, 2024
我用的是Qt 6.6.3,MinGW编译的,测试程序用的是QtWidget的例子,我刚测试了一下QtQuick的也有这个问题,边缘的空隙在系统处于深色模式的时候更加明显。

SineStriker commentedon Sep 9, 2024
我是qt6.6.1,我有空试试你的版本
SineStriker commentedon Sep 9, 2024
我用了 Qt 6.6.3 MinGW 11.2 编译,依旧没有复现这个问题。请问你用的 Windows 10 的版本是多少,Windows SDK 的版本是多少。
mentalfl0w commentedon Sep 10, 2024
我用的是Windows 10 on Arm64,版本号是21390.1,因为是mingw编译就没有安装Windows SDK,之前反馈的用户用的是Windows 10 22H2(19045.4842),Qt 6.5.1, msvc,也同样出现了这个问题。
SineStriker commentedon Sep 10, 2024
我是 Windows 10 22H2(19045.4780)。。。暂时测不了
mentalfl0w commentedon Sep 10, 2024
嗯嗯,或许可以看看别的用户是否也有相关问题。主要是我的设备不是Mac就是Windows 11,实在找不到Windows 10的设备了,有用户反馈我才做的测试,发现也出现了相应问题。
wangwenx190 commentedon Sep 10, 2024
dwm blur 是有这个问题。这个效果是用私有API强行开出来的,如果你想要传统的模糊效果(非亚克力、非云母),可以自己用DwmEnableBlurBehindWindow搭配透明的窗口背景来实现。
SineStriker commentedon Sep 10, 2024
你可以试试把
src/widgets/widgetwindowagent_win.cpp的setupWindows10BorderWorkaround的实现全部注释掉,再看看问题会不会复现。这个函数是为了解决windows10开启无标题栏以后系统上边框消失的问题的,具体做法就是窗口重绘时在最顶上画一条黑线(反正微软就是这么做的,这个参考了 Windows Terminal 的代码)。有可能是开启blur以后与这个workaround产生冲突了。mentalfl0w commentedon Sep 10, 2024
顶上多余的白线解决了,模糊化的问题仍然存在。

SineStriker commentedon Sep 10, 2024
那可能就是blur水土不服了,本来就是逆向来的。
SineStriker commentedon Sep 10, 2024
或者,你可以在win10上关掉编译选项QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS,这样整个系统边框都会被隐藏,可能就没这个问题了。
mentalfl0w commentedon Sep 10, 2024
是的,其他几个效果(Acrylic,mica,mica-alt)在Windows 10下也不能开启,我索性就让Windows 10下都不开启模糊化效果了。Windows 10明年支持就到期了,现在再往里面投入应该收益不大,Windows 11下没问题就OK,不过Windows 11下的Acrylic和Mica之类的效果都有各种各样的问题,只有DWM是正常的,不过有一个可以用就行了。
其余的可以自己加蒙版自定义。
关闭后这个边缘模糊的问题解决了,😂新的问题又出现了,Windows的原始边框出来了
SineStriker commentedon Sep 10, 2024
很烦。那win10上还是不要用了吧。。。我看你的仓库里还有一个 win10 边框的 issue,那个方便的话也开个issue吧。这个 issue 留着不关。
mentalfl0w commentedon Sep 10, 2024
OK,#134 已经开好了