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

标签 c++ macos qt qt5

环境

  • Mac OSX 优胜美地
  • 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();
}

主.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 - 通过

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

enter image description here

编译并运行 Mac App - FAIL

qmake
make

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

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

最佳答案

我想文件 ma​​in.qml 没有找到。您应该在控制台中收到一条错误消息“...找不到文件”。

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

1) 创建文件test.qrc,内容如下:

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

2) 添加test.qrcwebengine.pro

RESOURCES += test.qrc

3) 修改ma​​in.cpp,从资源中加载qml文件:

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

关于c++ - 简单的 Qt 应用程序无法在 Mac OSX Yosemite 上打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30682585/

相关文章:

c++ - 在常数时间内修剪 C++ 字符串

python - Boost.Python 返回不可复制对象的列表

c++ - 如何在 Linux 上获取 C++ 代码块的时钟滴答? clock() 结果没有意义。

java - 有没有办法在 Macbook Pro 上的 Eclipse 中暂停正在运行的 Java 程序的执行?

c++ - 在单个变量中检索不同的 Qmap

c++ - 可变参数模板仿函数调用

macos - 在 Mac 10.5 上解开 C++ 名称

macos - 我怎么知道 homebrew 在哪里安装符号链接(symbolic link)?

javascript - 如何在纯 QML+JS 中创建圆形进度条?

qt - 制作轻量级网络浏览器 - Gecko vs Webkit vs ???; Qt4 vs Qt5 vs?