在Qt Qml控件中,ApplicationWindow在运行时缺少本机外观的主题
In Qt Qml Controls, ApplicationWindow lacks the native-looking theme when run
Qml Controls默认带有一个不错的本机主题。当我通过解释器将我的程序作为 qml 文件运行时,它看起来很棒,但是,一旦我将代码复制到 c++ 后端并构建它,它看起来完全没有主题并且非常平淡。此外,我没有启用任何类型的控件样式来取消本机外观主题。
我唯一改变的是,由于我的主 qml 文件中的根对象是一个应用程序窗口,我将主.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();
}
文档
在这个例子中,我们使用的是QApplication,而不是QGuiApplication。虽然您可以改用 QGuiApplication,但这样做将消除依赖于平台的样式。这是因为它依赖于小部件模块来提供本机外观。
如果这对你没有帮助,我会非常惊讶。
相关文章:
- 从C++本机插件更新Vector3数组
- GCC本机矩阵运算库
- VC++本机单元测试,找不到调试符号
- 在这种情况下,java对象是否可以调用本机函数
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 无法将标准库导入本机 android 项目中的头文件
- 使用本机 C++ 应用程序中的 C# 代码
- 在nodejs中使用本机代码的最佳方法是什么?
- 如何告诉本机节点模块所需的dll存储在哪里?
- 在自定义程序中使用本机 Windows 自然顺序排序
- 如何在C++非托管/本机 DLL 中从注册免费 COM C# 托管 DLL 创建 COM 对象
- MS 本机单元测试 - 断言::线程失败不起作用
- 将音频从浏览器流式传输到WebRTC本机C++应用程序
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- C++/CLI 混合托管/本机 DLL 不起作用
- 子系统中的异常处理:本机
- 多次调用本机方法时出现致命错误
- 如何使用 Malloc 调试来检查本机内存泄漏?
- 在Qt Qml控件中,ApplicationWindow在运行时缺少本机外观的主题