×
Namespaces

Variants
Actions
(Difference between revisions)

Porting iPhone Web Apps to Qt using QtWebKit

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Add Qt)
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Merge KB into wiki)
Line 1: Line 1:
 
[[Category:Porting]][[Category:Code Examples]][[Category:iPhone]][[Category:Qt WebKit]][[Category:Qt]]
 
[[Category:Porting]][[Category:Code Examples]][[Category:iPhone]][[Category:Qt WebKit]][[Category:Qt]]
{{KBCS}}
+
{{ArticleMetaData <!-- v1.2 -->
{{ArticleMetaData
+
|sourcecode= [[Media:WebApp.zip]]
|id=
+
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|devices= Nokia 5800, N900
 +
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 
|platform= S60, Symbian^3, Maemo
 
|platform= S60, Symbian^3, Maemo
|devices=Nokia 5800, N900 
+
|devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) -->
|category=Qt
+
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
|subcategory= Qt for Symbian , Qt for Maemo
+
|signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
|creationdate= 14 November 2010
+
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 
|keywords= Web, WebKit, HTML, QWebView, JavaScript
 
|keywords= Web, WebKit, HTML, QWebView, JavaScript
 
+
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
+
|translated-by= <!-- [[User:XXXX]] -->
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
+
|translated-from-title= <!-- Title only -->
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
+
|translated-from-id= <!-- Id of translated revision -->
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
+
|review-by= <!-- After re-review: [[User:username]] -->
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
+
|review-timestamp= <!-- After re-review: YYYYMMDD -->
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices.) -->
+
|update-by= <!-- After significant update: [[User:username]]-->
|author=[[User:Chintandave er]]
+
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 +
|creationdate= 14 November 2010
 +
|author= [[User:Chintandave er]]
 +
<!-- The following are not in current metadata -->
 +
|subcategory= Qt, Qt for Maemo
 
}}
 
}}
  

Revision as of 08:47, 13 June 2012

Article Metadata
Code Example
Source file: Media:WebApp.zip
Tested with
Devices(s): Nokia 5800, N900
Compatibility
Platform(s): S60, Symbian^3, Maemo
Article
Keywords: Web, WebKit, HTML, QWebView, JavaScript
Created: chintandave_er (14 Nov 2010)
Last edited: hamishwillee (13 Jun 2012)

Contents

Overview

This Wiki Article shows how to port iPhone Web Apps to Qt using QtWebkit

Install the Nokia Qt SDK

Install Nokia Qt SDK if you don’t already have it from here.

Main Class

#include <QtGui/QApplication>
#include "webapp.h"
 
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
WebApp w;
 
w.showFullScreen();
 
return a.exec();
}


Header

#ifndef WEBAPP_H
#define WEBAPP_H
#include <QtCore/QPointer>
#include <QtWebKit/QWebView>
#include <QtWebKit/QWebPage>
#include <QtWebKit/QWebFrame>
#include <QtGui/QWidget>
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
#include <QtGui/QFrame>
#include <QtGui/QVBoxLayout>
class WebApp : public QMainWindow
{
Q_OBJECT
public:
WebApp(QWidget *parent = 0);
~WebApp();
private:
QPointer<QWebView> _webView;
QPointer<QVBoxLayout> _layout;
void SetupApp();
};
#endif // WEBAPP_H


Source

#include "webapp.h"
WebApp::WebApp(QWidget *parent)
: QMainWindow(parent)
{
SetupApp();
}
WebApp::~WebApp()
{
}
void WebApp::SetupApp()
{
/**
* Create the central widget
* and set it.
*/

QFrame* cW = new QFrame(this);
setCentralWidget(cW);
/**
* Set the layout to central widget.
*/

_layout = new QVBoxLayout(this);
cW->setLayout(_layout);
_layout->setMargin(0);
_layout->setSpacing(0);
/**
* Let's create the web view which
* will be used to display our page.
*/

_webView = new QWebView(this);
 
// Add your iPhone Web App URL to display in Qt App
_webView->load(QUrl("http://URL"));
_webView->show();
/** Add it to layout */
_layout->addWidget(_webView);
}

Postcondition

Here is one ported iPhone web app screen snap.

IphoneWebApp.jpg


Source Code

You can download source code from this link File:WebApp.zip

63 page views in the last 30 days.
×