我正在构建一个必须在 Windows 和 Mac OS X 上运行的 QML
应用程序。我想在 QML 中管理菜单,所以我开始使用 MenuBar我的应用程序中的组件。我在 C++ 中使用 QQuickView
来显示我的 QML 元素。我的菜单在 Mac OS X 上正确显示,但在 Windows
上没有显示任何内容,日志中也没有错误。
文档中提到该组件链接到 ApplicationWindow
但由于它在 Mac OS 上运行良好,我希望它在任何地方都能正常运行。
有没有办法在 Windows 上解决这个问题?
最佳答案
QQuickView
似乎无法包含 ApplicationWindow
作为根对象。
您是否尝试过使用 QQmlApplicationEngine
而不是 QQuickView
?
#include <QtGui/QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine("qml/untitled/main.qml");
QObject* root = engine.rootObjects().at(0);
static_cast<QWindow*>(root)->show();
return app.exec();
}
我在 Windows 上遇到了同样的问题,它帮助了我。
关于windows - 在 Windows 上的 QQuickView 中使用 MenuBar 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19858941/