5
Qml Controls默认具有很好的类似本机的主题。当我通过解释器将我的程序作为qml文件运行时,它看起来很棒,但是,一旦我将代码复制到C++后端并构建它,它看起来完全不受欢迎,而且非常平淡无奇。此外,我没有启用任何类型的控制风格来使本机外观主题无效。在Qt Qml控件中,ApplicationWindow在运行时缺少本机外观主题
我改变的唯一原因是我的主qml文件中的根对象是一个ApplicationWindow,我将main.cpp文件从加载qmlviewer改为创建我自己的应用程序引擎。我在想这可能是问题,但我不确定。
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickWindow>
int main(int argc, char *argv[]) {
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl("src/qml/main.qml"));
QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
window->show();
return app.exec();
}
太棒了!非常感谢你。我想我一定跳过了音符。 – user2887117
顺便说一句,由于'Qt 5.4',控件支持''''本机样式而不需要'Widget'依赖。因此,仅针对“Android”的应用程序可以删除依赖项并回滚到“QGuiApplication”的使用,而不是“QApplication”。 – BaCaRoZzo