Comments (11)
I'm currently stuck with Qt5 due to the removal of QtScript. I'll look at the patch, currently working with KDE set of patches
@JulienMaille OK. Here's the link of the upstream fix: https://codereview.qt-project.org/c/qt/qtbase/+/472926. You can cherry-pick it to your own custom build of Qt5.
from framelesshelper.
感谢反馈,按这个步骤确实能复现。我想一下是哪里的问题。
from framelesshelper.
目前已经确认是这个函数导致的:
framelesshelper/winnativeeventfilter.cpp
Line 2076 in 5003637
但如果不把自定义的窗口边框传给Qt,会导致我们在改变窗口尺寸时,Qt输出一大堆警告信息。
这个问题我也有点摸不着头脑。不过感觉这个问题只是个小问题,虽然确实是个bug,但我觉得应该很少有人会专门去这么操作。
from framelesshelper.
试了一些老牌的商业控件,发现也有这个问题,看来对于Qt程序而言,这个问题普遍存在。
from framelesshelper.
小问题,影响不大。老牌商业控件 要么没发现,要么发现了也觉得不重要。
from framelesshelper.
老牌商业控件 要么没发现,要么发现了也觉得不重要。
是,这个问题触发的条件很苛刻,必须严格按照你那个操作来才能触发,一步不对就触发不了。
我觉得这个问题应该是Qt内部没有考虑自定义边框的情况,最大化时记录的窗口几何位置没有减去自定义标题栏的高度导致的。其实你仔细看一下就会发现,被“吃掉”的高度正好等于你自定义标题栏的高度。如果要解决,还是要从Qt内部入手。
from framelesshelper.
由于是Qt内部问题,因此就不在这个项目的考虑范围内了。我抽空研究下,如果有能力解决的话,就贡献给Qt上游。
from framelesshelper.
最终发现不是Qt的bug,而是win32窗口普遍存在的问题。没有这个问题的窗口,都是开发者已经自行处理过了。如果使用了Windows默认的逻辑(即调用DefWindowProc
),都会存在这个问题。现在已修复。Qt上游也马上会合入相关解决方案,预计6.5.1及之后的版本都会修复。
from framelesshelper.
Any hope for a Qt 5.15 patch?
from framelesshelper.
Any hope for a Qt 5.15 patch?
@JulienMaille Qt 5.15 branch is in a really strict mode so won't accept any modifications unless it's really critical, such as security issue fixes. So this small fix won't be cherry-picked to Qt 5.15 and I've confirmed that with Qt engineers. However, if you can patch Qt yourself, I can give the link of the upstream patch. But I really recommend you upgrade to Qt6, because Qt6 has included so many Windows specific improvements and fixes which 5.15 don't have.
from framelesshelper.
I'm currently stuck with Qt5 due to the removal of QtScript. I'll look at the patch, currently working with KDE set of patches
from framelesshelper.
Related Issues (20)
- Global::Option::ForceHideWindowFrameBorder causes the frame border to be weird on Windows HOT 10
- 请教关于Qmainwindow的布局问题 HOT 4
- 编译问题 HOT 2
- Qt 6.6.0 Windows Unable to set geometry Issue HOT 3
- qt 6.5.3 窗口拖动改变大小时控件位置不正确 HOT 6
- ubuntu linux下用qt5.15.2版本编译报错
- MacOS最后一个窗口销毁再新建窗口崩溃分析反馈,窗口全屏状态修改分辨率异常问题求助 HOT 5
- Unable to restore window state after minimizing it when using the ApplicationWindow component from Qt controls HOT 3
- Windows下标题栏按钮tooltip重复显示 HOT 3
- closeEvent事件,对QCloseEvent事件进行ignore后,原来无边框的窗体会出现边框 HOT 2
- 把Q_OBJECT包裹在其它宏里面后,qmake编译失败 HOT 1
- quick 最小化问题
- Build error macOS HOT 1
- Build error in apple M1, when Qt is not a universal version.
- 苹果M芯片编译错误 HOT 1
- Win11 5.15.2 main 分支下的 版本
- QOpenGLFunctions 自定义控件显示问题
- 【bug】windows10下最大化和恢复按钮不显示
- 使用 QWebEngineView 之后标题栏按钮无法交互 HOT 18
- 代码问题 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from framelesshelper.