背景,出于好玩,希望APP同时支持Material和Universal两个主题
问题1,PC平台,正常需要加QT += quickcontrols2编译出来的文件
动态编译没事,但是,静态编译,必须选择兼容性才能执行
PS:静态编译,第一次选QT+=quickcontrols2,后面,删掉,在编译,居然也可以通过,而且不用选择兼容模式亦可执行
问题2,安卓平台
因为希望用户设定Material和Universal
结果坑爹。。。测试了好久,最好报错
plugin cannot be loaded for module ".data.user.0.com.qt.np.qt-reserved-files.qml.QtQuick.Controls.2.Material": Module namespace 'QtQuick.Controls.Material' does not match import URI '.data.user.0.com.qt.np.qt-reserved-files.qml.QtQuick.Controls.2.Material'
原因就是默认将路径中的/改成了.???
注:最后测试是,调用QQuickStyle::setStyle("Material");
就会出错!
测试了好久的解决方案
在APP中通过调用
if (sty == "mat") {
qputenv("QT_QUICK_CONTROLS_CONF", ":/qtquickcontrols2material.conf");
} else {
qputenv("QT_QUICK_CONTROLS_CONF", ":/qtquickcontrols2universal.conf");
}