reerayxia |
2017-03-02 10:11 |
QT QML同时支持Material和Universal两个主题
背景,出于好玩,希望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"); }
|
|