Qt5更改了qml文件加载类之后,如果想使用qml直接嵌入QWidget中,就可以使用QQuickWidget进行加载,使用比较方便。
但使用QQuickWidget加载碰到了一个问题,即有时使用qml想设置背景透明,但如果像一般的widget一样设置样式透明,整个窗口就会全黑或者全白。
查找文档之后,发现了QQuickWidget中有一个setClearColor(QColor&)函数,文档说明为可以直接设置成透明,但调用之后仍然不能解决问题,qml以及quickwidget全部设置透明即全黑。
后经查询资料,发现目前的QQiuckWidget加载QMl如果需要设置透明的话,需要设置QQuickWidget窗口属性Qt::WA_AlwaysStackOnTop,之后就可以正常显示透明了