最近用qml实现了一个日历日程的功能,用的是qml,现在总结一下遇到的比较坑的地方
我这边使用qml的方式是嵌在Qt中,承装qml的窗口用的是QQuickWidget,在需求中有弹出窗口的需求,一开始用的是qml的弹窗方式,用Window作为基类,来处理弹窗,但是遇到了一个问题,在Mac本M1芯片的机器上Window居然弹不出来,查了一些资料发现,我们用的Qt版本(5.12.3)在M1芯片上Window弹窗不支持,额。。。好伤心,windows都搞完了,像qml这种脚本语言,没觉得会在这里迭个跟头,下面就是一个个的心酸试探了
既然qml的弹窗弹不出来,难就只能用Qt来弹窗了。。。
试探一
基于这个qml的弹窗有圆角和边框阴影的处理,所以首先想法到的方法是用Qt的QWidget做好阴影和圆角处理,然后在中间用QQuickWidget加载qml,想想就很完美,改动量也不是很多,
于是巴拉巴拉一定改造,采用以下这种方式做好了,带阴影边框的圆角窗口,在加入QQuickWidget加载qml的时候,各种不显示,最终的实验结果就是,只要QWidget设置阴影就会导致qml加载不出来,如果加载qml那就没有圆角,没有阴影边框。。。。好气奥只能另改方案了,理想很丰满,现实很骨感呀,居然走不通。。。
QGraphicsDropShadowEffect *effect =