qt resource management

This commit is contained in:
王劲鹏 2019-12-04 17:39:41 +08:00
parent b82a00dd90
commit 75ebd5c0d6
3 changed files with 13 additions and 6 deletions

View File

@ -4,6 +4,7 @@
#include <QFile> #include <QFile>
#include <QObject> #include <QObject>
#include <QJSEngine> #include <QJSEngine>
#include <QResource>
#include "constant.h" #include "constant.h"
#include "native/native_bridge.h" #include "native/native_bridge.h"
@ -69,7 +70,8 @@ private:
void initDoricRuntime() { void initDoricRuntime() {
{ {
QFile *file = new QFile("/Users/maverick/Workspace/doric/js-framework/bundle/doric-sandbox.js"); QResource resource(":/doric/doric-sandbox.js");
QFile *file = new QFile(resource.fileName());
file->open(QFile::ReadOnly | QFile::Text); file->open(QFile::ReadOnly | QFile::Text);
QTextStream in(file); QTextStream in(file);
QString script = in.readAll(); QString script = in.readAll();
@ -81,7 +83,8 @@ private:
} }
{ {
QFile *file = new QFile("/Users/maverick/Workspace/doric/js-framework/bundle/doric-lib.js"); QResource resource(":/doric/doric-lib.js");
QFile *file = new QFile(resource.fileName());
file->open(QFile::ReadOnly | QFile::Text); file->open(QFile::ReadOnly | QFile::Text);
QTextStream in(file); QTextStream in(file);
QString script = in.readAll(); QString script = in.readAll();

View File

@ -12,7 +12,7 @@ int main(int argc, char *argv[])
QGuiApplication app(argc, argv); QGuiApplication app(argc, argv);
QQmlApplicationEngine engine; QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/main.qml")); const QUrl url(QStringLiteral("qrc:/doric/main.qml"));
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) { &app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl) if (!obj && url == objUrl)
@ -21,7 +21,8 @@ int main(int argc, char *argv[])
engine.load(url); engine.load(url);
{ {
QFile* file = new QFile("/Users/maverick/Workspace/doric/demo/bundle/src/Snake.js"); QResource resource(":/doric/Snake.js");
QFile *file = new QFile(resource.fileName());
file->open(QFile::ReadOnly | QFile::Text); file->open(QFile::ReadOnly | QFile::Text);
QTextStream in(file); QTextStream in(file);
QString script = in.readAll(); QString script = in.readAll();

View File

@ -1,5 +1,8 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/doric">
<file>main.qml</file> <file alias="main.qml">main.qml</file>
<file alias="doric-sandbox.js">../../doric-js/bundle/doric-sandbox.js</file>
<file alias="doric-lib.js">../../doric-js/bundle/doric-lib.js</file>
<file alias="Snake.js">../../doric-demo/bundle/src/Snake.js</file>
</qresource> </qresource>
</RCC> </RCC>