stdware / qwindowkit

Cross-platform frameless window framework for Qt. Support Windows, macOS, Linux.
Apache License 2.0
490 stars 78 forks source link

MAC OS 13.6.5 (22G621) qml(6.6.2) 系统按钮有bug #60

Closed yansong1221 closed 4 months ago

yansong1221 commented 5 months ago

Component.onCompleted: { console.log("Current platform: " + Qt.platform.os);

    windowAgent.setup(root.window);
    windowAgent.setTitleBar(root);
    windowAgent.setHitTestVisible(stayTopButton);
    if (root.isOSX)
        windowAgent.setSystemButtonArea(macSystemButton);
    //root.window.stayTop = true;
}

这样显示不出来调整下WindowStaysOnTopHint 它就出来了

SineStriker commented 5 months ago

没看懂

yansong1221 commented 5 months ago

就是最大化最小化看不见,调整下Window 的falgs 就突然就会出现

yansong1221 commented 5 months ago

还有在MAC下把这个项目作为子项目会提示找不到qmsetup

SineStriker commented 5 months ago

这个API是实验性的,不保证一定能正常。

mentalfl0w commented 4 months ago

这个问题我也遇到了,初步定位有可能是window的flag的原因,重新设置flag后会正常显示。我的解决方案是Objective-C++和C++混合编程,手动设置一下按钮,让它正常显示。之前有对这个项目的前身framelesshelper提交过相关修复补丁,但是当时测试是6.6.1以上版本不会再出现这个问题。不过我近期更换到6.6.3后又出现了,之前那个补丁的范围版本生效范围应该要重新修改。 具体代码请参考:RibbonUI/lib_source/platformsupport.mm

SineStriker commented 4 months ago

这个问题我也遇到了,初步定位有可能是window的flag的原因,重新设置flag后会正常显示。我的解决方案是Objective-C++和C++混合编程,手动设置一下按钮,让它正常显示。之前有对这个项目的前身framelesshelper提交过相关修复补丁,但是当时测试是6.6.1以上版本不会再出现这个问题。不过我近期更换到6.6.3后又出现了,之前那个补丁的范围版本生效范围应该要重新修改。 具体代码请参考:RibbonUI/lib_source/platformsupport.mm

PR合了以后问题解决了吗?

mentalfl0w commented 4 months ago

这个问题我也遇到了,初步定位有可能是window的flag的原因,重新设置flag后会正常显示。我的解决方案是Objective-C++和C++混合编程,手动设置一下按钮,让它正常显示。之前有对这个项目的前身framelesshelper提交过相关修复补丁,但是当时测试是6.6.1以上版本不会再出现这个问题。不过我近期更换到6.6.3后又出现了,之前那个补丁的范围版本生效范围应该要重新修改。 具体代码请参考:RibbonUI/lib_source/platformsupport.mm

PR合了以后问题解决了吗?

已经解决了,现在不用我自己手动让它显示,直接会显示。