最近用Qt6+QML仿制网易云切歌时候MAC的通知界面,发行测试版的时候出现了点小问题
教程被应用在MediaStateT中
MediaStateT Github项目地址: https://github.com/taxue-alfred/MediaStateT
MediaStateT Gitee项目地址: https://gitee.com/MediaState/MediaStateT
问题引出
环境:Qt6.2.2 | MinGw10.0.0
先来看看我的qml文件中import部分
//PopWindow.qml(下图可以看到我这个文件第四行报错)
import QtQuick
import QtQuick.Controls 2.5
import QtQuick.Window 2.3
import Qt5Compat.GraphicalEffects
import qt.txwh.MT_info_get 1.0
emm,网上查询好久无果,但是在这个网址中找到了零星的几句话引起了我的注意复制qml模块的dll需要将该模块下的qmldir文件一起复制过去,不然依然找不到对应的模块。
所以我立马打开了windeployqt之后的文件夹找到Qt5Compat>GraphicalEffects
文件夹,一看好家伙,windeployqt你怎么回事?
可以看到只有一个private文件夹,没有对应的qmldir和动态库dll
解决思路
问题找到了,那么我们找到Qt的开发环境目录,把文件qmldir
qtgraphicaleffectplugin.dll
复制进去就好了
复制之后来看看输出文件夹的组成
嗯~,我们运行下exe来试试
可以看到不报错,动画也很好看(GIF有点掉帧,其实比这个流畅很多),非常nice