Comments (18)
不好意思,我电脑坏了,暂时没法调试,大概明后天才能修好。不过你说调用removeWindowFrame,你是在Qt Quick里使用吗?widget表现正常吗?
我这边没有苹果设备,unix平台这个无边框我也是在Windows上测的,可能效果和苹果设备不一样,等我拿回电脑后再调试一下。
from framelesshelper.
我测试的是qwidget。调用的helper.removeWindowFrame(&widget);去除边框。mac os你有测试过吗? 周一上班了我也看看什么问题, 有点奇怪
from framelesshelper.
unix平台这个方案,用的是Qt自己的跨平台API,而且我也没有苹果设备,只能在Windows上预览效果,没有实际在苹果设备上测试过。我记得在Windows上测试时还挺正常的,不过后来没测,可能后来改出问题了。这个要等我修好电脑才能调试了。
from framelesshelper.
Windows我有测试, 没有问题, 挺完美的。 就是有个qassert那边会报错, 去掉就行了。 win10系统
from framelesshelper.
Windows和unix用的是两套代码,用Q_OS_WINDOWS这个宏分开的,你要undef这个宏才能在win上测试unix方案。不过如果是widget就不用了。
顺便问一下,哪里的qassert报错?
from framelesshelper.
我看win的使用方法和unix不同吧,win用的是WinNativeEventFilter::addFramelessWindow,unix是实例化FramelessHelper调用removeWindowFrame.
qassert是WinNativeEventFilter::nativeEventFilter里面的Q_ASSERT(result);
from framelesshelper.
unix方案是跨平台的,也支持Windows,只不过在Windows上效果不太好,所以才用了nativeEventFilter代替。
说实话那个assert不应该报错的,因为result本来就不能为空,空的话程序会直接崩掉。你注释掉,就说明result是空的,程序不崩吗?
from framelesshelper.
并不会崩溃。 所以挺奇怪的。你那里不会有这个问题吗。我当时的测试版本是qt 5.12.0.
刚刚在自己家里电脑试了下, 还是有这个qassert的问题,注释掉不崩溃。qt5.12.5版本
from framelesshelper.
我这边要是崩溃的话我就不会加上这一句了。我有个朋友在他的项目里用了,用户量不小,发现在win7上大规模崩溃,就是因为result为空,但是更新驱动就能解决。我也是一直没弄明白怎么回事。
我自己测的时候都是用5.15.0 msvc2019测的,32位64位都没问题,mingw也没问题。
from framelesshelper.
我用的是msvc2015 64bit 我换个编译器测一下
qt 5.12.5 msvc2017 32bit 测还是有这个result为空。有空我编译下qt5.15再测一下
from framelesshelper.
现在看来大概跟编译器没什么关系
from framelesshelper.
电脑修不好了,直接换了个,重新装了Qt和VS,发现我也遇到断言错误了。之前不知道为什么我这里一直都不会触发这个断言错误。
from framelesshelper.
我在Windows上测了下,自带的例子没啥问题,能最小化。你打开的是framelesshelper_unix.pro
吗?
from framelesshelper.
在mac os里面打开的framelesshelper_unix.pro .
from framelesshelper.
我没mac没法在真机上测,而且unix代码是跨平台的,Windows上看起来很正常,我也想不出问题在哪
from framelesshelper.
感谢作者,mac上无法最小化该我已经解决了,但是我出现了Current OS doesn't support QWindow::startSystemResize(),无法用鼠标改变窗体大小,我正在看看有没解决方案。我的项目链接https://gitee.com/graycatya/CatLearnQt/tree/graycatya/,在Examples目录下,下有CatWidgetExamples,CatQuickExamples都有用您的去边框方案。目前已在windows,linux,macOS测试了。也测出了些许问题后续会反馈给您。macos下的无法最小化问题,已在我项目中解决了。
from framelesshelper.
感谢作者,mac上无法最小化该我已经解决了,但是我出现了Current OS doesn't support QWindow::startSystemResize(),无法用鼠标改变窗体大小,我正在看看有没解决方案。我的项目链接https://gitee.com/graycatya/CatLearnQt/tree/graycatya/,在Examples目录下,下有CatWidgetExamples,CatQuickExamples都有用您的去边框方案。目前已在windows,linux,macOS测试了。也测出了些许问题后续会反馈给您。macos下的无法最小化问题,已在我项目中解决了。
好的,感谢!
但是我出现了Current OS doesn't support QWindow::startSystemResize(),无法用鼠标改变窗体大小
FramelessHelper 1.x 版本,在Linux以及macOS平台使用的是Qt自己的API,而在macOS平台,该API有很多局限,不能调整窗口大小是已知问题。这个问题我已经向Qt官方反馈过,得到的答复是在macOS下该功能不好实现,暂时不会修正。
from framelesshelper.
Fixed in 2.0
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.