简单的Qt应用程序在Mac OSX Yosemite上无法打开

时间:2015-06-06 12:00:25

标签: c++ macos qt qt5

环境

  • Mac OSX Yosemite
  • QT5
  • 3个文件
    • 的main.cpp
    • main.qml
    • webengine.pro

的main.cpp

#include <QtGui/QGuiApplication>
#include <QtQml/QQmlApplicationEngine>
#include <QtWebEngine/qtwebengineglobal.h>

int main(int argc, char *argv[])
{
  QGuiApplication app(argc, argv);
  QtWebEngine::initialize();

  QQmlApplicationEngine engine;
  engine.load(QUrl("main.qml"));

  return app.exec();
}

main.qml

import QtQuick 2.0
import QtWebEngine 1.0
import QtQuick.Controls 1.3
import QtQuick.Window 2.0

ApplicationWindow {
    title: qsTr("Test")
    width: 1200
    height: 800
    visible: true

    WebEngineView {
      width: Screen.width
      height: Screen.height
      anchors.fill: parent
      url: 'http://duckduckgo.com'
    }  
}

webengine.pro

TARGET = browser
TEMPLATE = app
SOURCES = main.cpp
QT += qml quick webengine

运行QML - PASS

/usr/local/Cellar/qt5/5.4.0/bin/qmlscene main.qml 

enter image description here

编译并运行Mac App - FAIL

qmake
make

然后我点击browser.app,应用程序启动但没有打开窗口。

关于我做错了什么的提示?

1 个答案:

答案 0 :(得分:1)

我猜是找不到文件 main.qml 。您应该收到错误消息&#34; ...找不到文件&#34;在控制台中。

要解决此问题,请在驱动器上提供有效路径或使用Qt的资源管理。 这是记录here,我将概述步骤:

1)使用以下内容创建文件 test.qrc

<!DOCTYPE RCC>
<RCC version="1.0">
<qresource prefix="/">
    <file>main.qml</file>
</qresource>
</RCC>

2)将 test.qrc 添加到 webengine.pro

RESOURCES += test.qrc

3)修改 main.cpp 以从资源加载qml文件:

engine.load(QUrl("qrc:/main.qml"));