Developments in The Qt WebKit Integration

62

description

The Qt WebKit Integration provides a powerful framework to seamlessly integrate web technologies into applications, where web content can interact with Qt components. This presentation introduces the QtWebKit APIs, the underlying engine and new features coming in future releases. Presentation by Kenneth Christiansen held during Qt Developer Days 2009. http://qt.nokia.com/developer/learning/elearning

Transcript of Developments in The Qt WebKit Integration

Page 1: Developments in The Qt WebKit Integration

�������������� ����������������

������������������������������������ ��������

Page 2: Developments in The Qt WebKit Integration

������������������

���������������� ���� ��

����������������������������������� ���������!��"��

������#�������

$��������� ����������

Page 3: Developments in The Qt WebKit Integration

������ ������%

���������������������������������������

Page 4: Developments in The Qt WebKit Integration

������

������&���������������������

������������������������������

�������������������������� �'()

Page 5: Developments in The Qt WebKit Integration

����� �������������������

Page 6: Developments in The Qt WebKit Integration

�����������

�������������������������*�������������

����������������+

�������������������������������

Page 7: Developments in The Qt WebKit Integration

����������������

�����

�����

�����

,�����

-���&.�����

�����

$���

#�/

Page 8: Developments in The Qt WebKit Integration

�������������0�����$�������

$�������������������1

������������ ��$���� �������-)2

�����������������1

�����,������0����� �������-�����

Page 9: Developments in The Qt WebKit Integration

3������-�������0�������

��������������������������

������������������������������������������������

Page 10: Developments in The Qt WebKit Integration

�������4���������������

����� �,��5����� �,������0����� ��������(((

/�������������������������

Page 11: Developments in The Qt WebKit Integration

����������������

����6������7�������������������1

� ���0���

� 8���-����0����9�������:

Page 12: Developments in The Qt WebKit Integration

!�������������

���0�������������������������������������

�����������

��4���������

$������*���������

;�������$�����

��(((

Page 13: Developments in The Qt WebKit Integration

!�����������������������

����������������������������������

���0��������� �������1

� ����������/��������������������������

� $������������������

� $�����&�����������������3�/;<������*=����

Page 14: Developments in The Qt WebKit Integration

��� ������������(((

���������������������������������������

�������� &����$�

�������������������������������������������

Page 15: Developments in The Qt WebKit Integration

��� ������������(((

�����$���������������� &������������������>�

�$� ��������$��������������������������� �

����� ����������(

������� �����������������������������������������������>

Page 16: Developments in The Qt WebKit Integration

������������������������ ��������

Page 17: Developments in The Qt WebKit Integration

#����������������������

�������������������� >���������������%

�������>������������� �������������������

������������������������ ������������������

������������

Page 18: Developments in The Qt WebKit Integration

��4&,���-�������-�����

� #������������4��������

� 3�/;<

� ������������

� #������������4��������

Page 19: Developments in The Qt WebKit Integration

�����?�0�������

� -�����������������

� ���0-- �8���-���� �@/;�����-=,�����������

� �����������������������������

� ����������������� ���(((

Page 20: Developments in The Qt WebKit Integration

0--��������������.����

� A��� ������� ����

� 8���-����������

� 0--�?�����A��

� ;���������������

Page 21: Developments in The Qt WebKit Integration

3�/;�0����

� $�������������������8���-����

� /��������

� 3��������?��������B���������9���,;:�

� /���������

Page 22: Developments in The Qt WebKit Integration

8���-����������

� -�������C

� -���������������

� 8��������

��

Page 23: Developments in The Qt WebKit Integration

3�/;<�/����������

� #���D�������3�/;<�����

� ����������������$�����

� A�������������

� ����������������1&9

��

Page 24: Developments in The Qt WebKit Integration

$�����������

� .����� ������������

� �������$�����������

� A���������

��

Page 25: Developments in The Qt WebKit Integration

-=,�E(E

� A� ����������-��������=�����,������������

� !�������� �-��

� -���������������������������(

��

Page 26: Developments in The Qt WebKit Integration

��

������������������� ���� ��!"#

Page 27: Developments in The Qt WebKit Integration

$�������������������� ��!"#

��

Page 28: Developments in The Qt WebKit Integration

;�����������(((

��!"#����������������������������������������

�������������������������%&'()�����������������

�������������!�����*��������+�

��

Page 29: Developments in The Qt WebKit Integration

����������

������������������������������������

6�$����������������������������������� �

�������������������������������������7�

;���&����� ��������&����� ���������&����������������(

��

Page 30: Developments in The Qt WebKit Integration

-����������;������

;����������� �������������&�����

����������+�

-���������������.4��������

Page 31: Developments in The Qt WebKit Integration

A����8���-����

������'��)������,�8��

A��8���-��������������������C

�#/��<�8��������������������������'

Page 32: Developments in The Qt WebKit Integration

.4����������3�/;<5����,���

� �����&�����3�/;�����*�����

� -����*����������� ����������������

� .��*����������

� =������������ ������&����������

��������������������������3������@F; �/�"�������������������(

��

Page 33: Developments in The Qt WebKit Integration

����������������� ��������������-

��

Page 34: Developments in The Qt WebKit Integration

���������+������������ �����������

��������� ���.� ���������� ���������

����������������� ������������������

����.����������������� �������� ���/$

��

Page 35: Developments in The Qt WebKit Integration

G��������������H��

��������������������������

0���+� ����1�� �������������1�� �-

��

Page 36: Developments in The Qt WebKit Integration

$�������������� ���2��+���

3���������� �������+����������������40'����+�55

��

Page 37: Developments in The Qt WebKit Integration

�������������� ���.�����

� .�����������������G/������������

� B �����������$�

� 8��������������� ����������������

� #������������&����������������G/�

������

��

Page 38: Developments in The Qt WebKit Integration

0--�-������

QWebElement document = frame->documentElement();

/* Assume the document has the following structure:

<p class=intro>

<span>Intro</span>

<span>Snippets</span>

</p>

<p>

<span>Content</span>

<span>Here</span>

</p>

*/

QList<QWebElement> allSpans = document.findAll("span");

QList<QWebElement> introSpans = document.findAll("p.intro span");

��

Page 39: Developments in The Qt WebKit Integration

.����������

��

frame->setHtml("<html><body><p>First Paragraph</p><p>Second Paragraph</p></body></html>");

QWebElement doc = frame->documentElement();

QWebElement body = doc.firstChild();

QWebElement firstParagraph = body.firstChild();

QWebElement secondParagraph = firstParagraph.nextSibling();

Page 40: Developments in The Qt WebKit Integration

���������$�����

-�������������������A���(

#��� ��������������

$����������������

Page 41: Developments in The Qt WebKit Integration

-����

�&�� ������ ����-

�����$����&�������������������8���-����0���

���-�������� -������4�����������8���-�����

���/�������������������

������������������������ ������������F�������

����������������������������� ����������� ��!")

Page 42: Developments in The Qt WebKit Integration

-�������-�����)2������

!�������� �������������������������������

.4��������������� ����������

0����������#6� ����������� ��!"#������

��

Page 43: Developments in The Qt WebKit Integration

A��4������ ���������������

�����������������4����

����������������������������� �����

������������������������"�����������������

����������������

������������������������� ����������

��

Page 44: Developments in The Qt WebKit Integration

#�������������������������

>������������*������ �7���

� �����������������������

� 0���������

� �������������������

� ������� ��������������F������� ��������������

���,�������=���(

��

Page 45: Developments in The Qt WebKit Integration

������������������

.���������������C�((((

����������"""������������������� ��������

��

Page 46: Developments in The Qt WebKit Integration

,�������=�������������

�����������>��������������������������

���������,�������=���(

��������.����� ����������������� ������

�����������

��

Page 47: Developments in The Qt WebKit Integration

&����� ������������������� �-

$�������������� *������ ���7���

��

Page 48: Developments in The Qt WebKit Integration

�������������� ,���������=���

� ��������&������������������ ���=���

� �� ,���������������������������

� -��������$���� ���=��� ���������������

���������������,���������������

�����������

��

Page 49: Developments in The Qt WebKit Integration

�������������� ,���������=���

����������������������"����

� ����������������������������

� 0������������� �����������������

� F�������������������������6!���������7 �

��������4���� ���������������������

��

Page 50: Developments in The Qt WebKit Integration

�������������� ,���������=���

����������������������������������

��������������������������������

80����������+������������������������+��9�:�;

Page 51: Developments in The Qt WebKit Integration

��������

0������+.��������� ������������ -

����B�����������������������������������������(

Page 52: Developments in The Qt WebKit Integration

����4�������� ������������������������

(��< � ��������� ��������������������������-

��

Page 53: Developments in The Qt WebKit Integration

/������������C

��������������������������������������

�������������� �������������������������

������������������������(

&�� ��� ���������� ��������+������=� ��������� ������.�

���� .����"

��

Page 54: Developments in The Qt WebKit Integration

�����������

���������������������������������������

�����������G/��������������

������������������� ����������������������� ����������+�

55"�$���������� ��� ��� ���������� ��� ���+������

��

Page 55: Developments in The Qt WebKit Integration

3�/;<

� �����$���������������������3�/;<���������

������������������

� -�������������������������������������

� ���������������������������

��

Page 56: Developments in The Qt WebKit Integration

/��������

� �$������������������������������

� -������������������� -������������������

� ,�����F#;���������H���������������

� 0�������������������������������

� /������4������������������������������

��

Page 57: Developments in The Qt WebKit Integration

������� �����������������>

��

Page 58: Developments in The Qt WebKit Integration

������������������������

� ;������������������������������

� 3�/;<�������������������"��

� ���������������������,;

��

Page 59: Developments in The Qt WebKit Integration

�'(I���������������������

� -������������������

� /���������������,�������=�������������

� -���������������

� �����������-�����

� 0������������������������������

��

Page 60: Developments in The Qt WebKit Integration

�������������������������

Page 61: Developments in The Qt WebKit Integration

%���������������

� �#0���������?1������������������

� !������������������@AA��� "������"���

� ��������������������������������C

Page 62: Developments in The Qt WebKit Integration

��

&$'2�30��

B2�&$0��

&$'2�30��

B2�&$0��>