2012-12-13 55 views
1

我想在QWebView中加載一種「web應用程序」。將web應用程序作爲資源嵌入到C++ Qt可執行文件中

我的「web應用程序」由一些HTML5頁面組成,包括CSS,Javascript和圖片。它是完全自治的。它不需要服務器。

我對Qt編程頗爲陌生。有沒有辦法將這些文件嵌入到Qt項目中,並在程序啓動時將它們加載到QWebView中?

我已經設法從遠程HTTP服務器加載這些頁面,但我的應用程序必須是獨立的。

編輯

謝謝您的解決方案Yodabox。該頁面顯示效果良好。我將baseUrl設置爲"qrc:///web/"而不是":/web/"。但我仍然有問題。

我對嵌入式XML文件執行異步請求,以便在HTML選擇中加載值。該JavascriptConsole給出的消息:XHR finished loading: "qrc:///web/xml/values.xml"但選擇不填充。你有任何解決方案?

回答

1

所有你需要的是QWebView::setHtml

void QWebView::setHtml (const QString & html, const QUrl & baseUrl = QUrl()) 

你應該設置的baseUrl爲 「:/網絡/」 的d html作爲HTML文件內容,請詳細閱讀Qt DOC。

0

如果這些頁面在應用程序的執行過程中不應該改變,我想你可以將它封裝在資源文件中 ...(我不知道它是好還是壞..簡單地說它做你的需要)

你可以閱讀有關資源系統在這裏:Resource System

+0

那麼,我添加文件到一個.qrc文件,並嘗試'qWebView->加載(QUrl(「:/ Web/index.html」));'但它似乎並沒有工作... – Maxbester

+0

試着* setHtml()*或* setContent()* –

+0

您需要使用qWebView-> load(QUrl :: fromLocalFile(「:/Web/index.html」)); –

相關問題