查看完整版本: [-- QT QML同时支持Material和Universal两个主题 --]

QTCN开发网 -> Qt QML开发 -> QT QML同时支持Material和Universal两个主题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

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");
    }



查看完整版本: [-- QT QML同时支持Material和Universal两个主题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled