windows - 在 Windows 上的 QQuickView 中使用 MenuBar 组件

标签 windows qml qt5 qtquick2

我正在构建一个必须在 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/

相关文章:

c++ - QT5将项目名称附加到每个源文件名称,编译错误

c++ - 错误 C2297 : '*' : illegal, 右操作数的类型为 'BYTE *'

windows - Windows 中的 ls -la 和 ls -l 有什么区别?

c++ - 拖拽后获取QTableView的实际行号

android - 基于 QML 模型的组件在 android 上具有未定义的 modelData

python - 如何使用 Squish 查找 qml 元素的 id 属性?

c++ - 如何在 QWindow 上启用鼠标跟踪

windows - 从 powershell 打开管理员命令提示符

c# - 如何开始使用 Cygwin 进行 C# 开发?

python - Python 列表更新时更新 ListView