Giter Site home page Giter Site logo

Comments (18)

wangwenx190 avatar wangwenx190 commented on August 17, 2024

不好意思,我电脑坏了,暂时没法调试,大概明后天才能修好。不过你说调用removeWindowFrame,你是在Qt Quick里使用吗?widget表现正常吗?

我这边没有苹果设备,unix平台这个无边框我也是在Windows上测的,可能效果和苹果设备不一样,等我拿回电脑后再调试一下。

from framelesshelper.

wufangzhao avatar wufangzhao commented on August 17, 2024

我测试的是qwidget。调用的helper.removeWindowFrame(&widget);去除边框。mac os你有测试过吗? 周一上班了我也看看什么问题, 有点奇怪

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

unix平台这个方案,用的是Qt自己的跨平台API,而且我也没有苹果设备,只能在Windows上预览效果,没有实际在苹果设备上测试过。我记得在Windows上测试时还挺正常的,不过后来没测,可能后来改出问题了。这个要等我修好电脑才能调试了。

from framelesshelper.

wufangzhao avatar wufangzhao commented on August 17, 2024

Windows我有测试, 没有问题, 挺完美的。 就是有个qassert那边会报错, 去掉就行了。 win10系统

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

Windows和unix用的是两套代码,用Q_OS_WINDOWS这个宏分开的,你要undef这个宏才能在win上测试unix方案。不过如果是widget就不用了。

顺便问一下,哪里的qassert报错?

from framelesshelper.

wufangzhao avatar wufangzhao commented on August 17, 2024

我看win的使用方法和unix不同吧,win用的是WinNativeEventFilter::addFramelessWindow,unix是实例化FramelessHelper调用removeWindowFrame.

qassert是WinNativeEventFilter::nativeEventFilter里面的Q_ASSERT(result);

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

unix方案是跨平台的,也支持Windows,只不过在Windows上效果不太好,所以才用了nativeEventFilter代替。

说实话那个assert不应该报错的,因为result本来就不能为空,空的话程序会直接崩掉。你注释掉,就说明result是空的,程序不崩吗?

from framelesshelper.

wufangzhao avatar wufangzhao commented on August 17, 2024

并不会崩溃。 所以挺奇怪的。你那里不会有这个问题吗。我当时的测试版本是qt 5.12.0.
刚刚在自己家里电脑试了下, 还是有这个qassert的问题,注释掉不崩溃。qt5.12.5版本

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

我这边要是崩溃的话我就不会加上这一句了。我有个朋友在他的项目里用了,用户量不小,发现在win7上大规模崩溃,就是因为result为空,但是更新驱动就能解决。我也是一直没弄明白怎么回事。

我自己测的时候都是用5.15.0 msvc2019测的,32位64位都没问题,mingw也没问题。

from framelesshelper.

wufangzhao avatar wufangzhao commented on August 17, 2024

我用的是msvc2015 64bit 我换个编译器测一下

qt 5.12.5 msvc2017 32bit 测还是有这个result为空。有空我编译下qt5.15再测一下

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

现在看来大概跟编译器没什么关系

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

电脑修不好了,直接换了个,重新装了Qt和VS,发现我也遇到断言错误了。之前不知道为什么我这里一直都不会触发这个断言错误。

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

我在Windows上测了下,自带的例子没啥问题,能最小化。你打开的是framelesshelper_unix.pro吗?

from framelesshelper.

wufangzhao avatar wufangzhao commented on August 17, 2024

在mac os里面打开的framelesshelper_unix.pro .

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

我没mac没法在真机上测,而且unix代码是跨平台的,Windows上看起来很正常,我也想不出问题在哪

from framelesshelper.

graycatya avatar graycatya commented on August 17, 2024

感谢作者,mac上无法最小化该我已经解决了,但是我出现了Current OS doesn't support QWindow::startSystemResize(),无法用鼠标改变窗体大小,我正在看看有没解决方案。我的项目链接https://gitee.com/graycatya/CatLearnQt/tree/graycatya/,在Examples目录下,下有CatWidgetExamples,CatQuickExamples都有用您的去边框方案。目前已在windows,linux,macOS测试了。也测出了些许问题后续会反馈给您。macos下的无法最小化问题,已在我项目中解决了。

from framelesshelper.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

感谢作者,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.

wangwenx190 avatar wangwenx190 commented on August 17, 2024

Fixed in 2.0

from framelesshelper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.