私は現在Qt 5.8でQWebEngineView
で遊んでいます。.qrc
ファイルからindex.html
ファイルをロードしたいと思います。QWebEngineView - リソースからhtmlをロード
マイ.pro
ファイルは次のようになります。
TEMPLATE = app
TARGET = Launcher
QT += webenginewidgets
CONFIG += c++14
SOURCES += main.cpp
RESOURCES += \
launcher.qrc
私main.cpp
ファイルには、次のようになります。私のプロジェクトで
#include <QApplication>
#include <QWebEngineView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWebEngineView view;
view.load(QUrl("qrc:/html/index.html"));
view.resize(1024, 768);
view.show();
return a.exec();
}
launcher.qrc
ファイルがある:index.html
インサイド
<RCC>
<qresource prefix="/html">
<file>index.html</file>
</qresource>
</RCC>
は、私はちょうど01のテキストを追加しました他には何もありません。
私がアプリケーションを起動すると、「ウェブサイトには到達できません」エラー画面が表示されます。
私は、周りGoogleで検索し、私のQWebEngineView
へのリソースのURLを指定するには、いくつかの異なる試みを試してみました:
view.setUrl(QUrl("qrc:/html/index.html")); // Same error page
view.page()->setUrl(QUrl("qrc:/html/index.html")); // Same error page
view.page()->load(QUrl("qrc:/html/index.html")); // Same error page
私はqrc:/html/index.html
から:/html/index.html
へのリソースのURLを変更した場合、私はもう、このエラーページを得ることはありませんが、空白のページ代わりに。ウィンドウを右クリックして「ページソースを表示」を選択すると、ページソースも空になります。
最近Qt Creator 4.2.2で作成された新しいQtクイックアプリケーションで、同じqrc:...
URLを使用してこれを動作させました。
今Qtウィジェットアプリケーションを作成しましたが、もう動作しません。
私はここで何が欠けていますか?
私にとってうまく動作します。どのようなコンパイル/アプリケーションの出力も生成され、通常どおりに出力されますか? – deW1
あなたは考えることができる最もシンプルなウェブサイトで試すことができますか? <!DOCTYPE HTML>
それは関係なく、私は、このファイルに入れて何の動作しません
何か
– deW1を見出し。ファイルが見つからないようです。 QFileとQTextStreamを使用してファイルを開いて読み込もうとすると、アプリケーションの出力に「QIODevice :: read(QFile、 "qrc:\ html \ index.html"):device not open」と表示されます。 新しいQt Quickプロジェクトを作成し、作成した.qrcファイルを使用するとすべて正常に動作します。私はなぜこれが動作し、私の元のQtウィジェットアプリケーションはしないのかわかりません。 – TorbenJ