简单的 Qt 应用程序在 Mac OSX Yosemite 上无法打开
Simple Qt app doesn't open on Mac OSX Yosemite
环境
- 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
编译和运行Mac应用程序-FAIL
qmake
make
然后我单击 browser.app
,应用程序启动但没有 window 打开。
关于我做错了什么的任何提示?
我想找不到文件 main.qml。您应该会在控制台中收到一条错误消息“...找不到文件”。
要解决此问题,请提供驱动器上的有效路径或使用 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"));
环境
- 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
编译和运行Mac应用程序-FAIL
qmake
make
然后我单击 browser.app
,应用程序启动但没有 window 打开。
关于我做错了什么的任何提示?
我想找不到文件 main.qml。您应该会在控制台中收到一条错误消息“...找不到文件”。
要解决此问题,请提供驱动器上的有效路径或使用 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"));