1

I would like to load a sort of "web application" in a QWebView.

My "web application" is made up of some HTML5 pages with CSS, Javascript and pictures. It is totally autonomous. It does not need a server.

I am quite new to Qt programming. Is there a way to embed those files into the Qt project and load them in the QWebView when the program starts?

I already managed to load those pages from a remote HTTP server but my application must be standalone.

EDIT

Thank you for your solution Yodabox. The page is well displayed. I set baseUrl as "qrc:///web/" instead of ":/web/". But I still have a problem.

I do an async request to an embedded XML file to load values in an HTML select. The JavascriptConsole gives the message: XHR finished loading: "qrc:///web/xml/values.xml" but the select is not populated. Do you have any solution?

Maxbester
  • 2,435
  • 7
  • 42
  • 70

2 Answers2

1

All you Need is QWebView::setHtml

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

you should set baseUrl as ":/web/" and html as the HTML file content,please read Qt DOC for detail.

yodabox
  • 175
  • 2
  • 7
0

if those pages aren't suppose to change during the esecution of the application, i think you can encapsulate it in a resource file... (i don t know if it is good or bad.. simply it does what you need)

you can read about the resource system here : Resource System

andrea.marangoni
  • 1,499
  • 8
  • 22