This file is indexed.

/usr/share/qt5/doc/qtdoc/topics-ui.html is in qt5-doc-html 5.3.2-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- userinterfaces.qdoc -->
  <title>User Interfaces | QtDoc 5.3</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
    <div class="main">
    <div class="main-rounded">
        <div class="navigationbar">
        <ul>
<li><a href="index.html">Qt 5.3</a></li>
<li>User Interfaces</li>
<li id="buildversion">
Qt 5.3.2 Reference Documentation</li>
    </ul>
    </div>
</div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#qml-graphical-user-interfaces">QML Graphical User Interfaces</a></li>
<li class="level2"><a href="#important-ui-topics-for-qml-applications">Important UI Topics for QML Applications</a></li>
<li class="level2"><a href="#graphical-controls">Graphical Controls</a></li>
<li class="level1"><a href="#qt-widgets">Qt Widgets</a></li>
<li class="level2"><a href="#important-concepts-in-qt-widgets">Important Concepts in Qt Widgets</a></li>
<li class="level1"><a href="#displaying-web-content">Displaying Web Content</a></li>
<li class="level1"><a href="#comparison">Comparison</a></li>
<li class="level1"><a href="#internationalization-and-translations">Internationalization and Translations</a></li>
</ul>
</div>
<h1 class="title">User Interfaces</h1>
<span class="subtitle"></span>
<!-- $$$topics-ui.html-description -->
<div class="descr"> <a name="details"></a>
<p>Qt features multiple technologies for creating user interfaces. While it is possible to mix and match these different technologies as needed, one approach is often better suitable for a certain type of user interface than the others. <a href="deployment-android.html#qt-creator">Qt Creator</a> is a good example of an application that mixes different user interface technologies. In fact, it uses all of the three different approaches described below. <a href="deployment-android.html#qt-creator">Qt Creator</a> uses the traditional <a href="../qtwidgets/qtwidgets-index.html">Qt Widgets</a> such as menus and dialogs as a basis of the user interface, <a href="../qtquick/qtquick-index.html">Qt Quick</a> amongst others for the welcome screen, and <a href="../qtwebkit/qtwebkit-index.html">Qt WebKit</a> for presenting the Qt reference documentation. The following sections provide brief introductions to the available technologies for creating user interfaces, and a comparison table to help choosing the best suitable technology.</p>
<a name="qml-graphical-user-interfaces"></a>
<h2>QML Graphical User Interfaces</h2>
<p>QML allows developers to build user interfaces in a declarative way. User interfaces specifically benefit from the simplicity of compounding QML objects and configuring them using property bindings.</p>
<p><a href="../qtquick/qtquick-index.html">Qt Quick</a> is a module which supplies QML types for creating user interfaces such as a visual canvas with its own coordinate system and rendering engine. Animation and transition effects are a first class concept in Qt Quick and visual effects can be supplemented through specialized components for particle and shader effects.</p>
<a name="important-ui-topics-for-qml-applications"></a>
<h3>Important UI Topics for QML Applications</h3>
<ul>
<li><a href="qtquick-usecase-visual.html">Visual types in QML</a></li>
<li><a href="qtquick-usecase-userinput.html">Responding to User Input in QML</a></li>
<li><a href="qtquick-usecase-animations.html">Animations in QML</a></li>
<li><a href="qtquick-usecase-text.html">Displaying Text in QML</a></li>
<li><a href="qtquick-usecase-layouts.html">Layouts in QML</a></li>
<li><a href="qtquick-usecase-styling.html">Style and Theme Support</a></li>
<li><a href="qtquick-usecase-integratingjs.html">Integrating JavaScript in QML</a></li>
<li><a href="scalability.html">Scalability</a></li>
</ul>
<a name="graphical-controls"></a>
<h3>Graphical Controls</h3>
<p>The <a href="../qtquickcontrols/qtquickcontrols-index.html">Qt Quick Controls</a> module is new in Qt 5.1 and provides a set of UI elements to create user interfaces using <a href="../qtquick/qtquick-index.html">Qt Quick</a> 2.</p>
<p>For more about how to create application user interfaces with QML, visit the <a href="qmlapplications.html#qml-user-interfaces">QML User Interfaces</a> page.</p>
<a name="qt-widgets"></a>
<h2>Qt Widgets</h2>
<p><a href="../qtwidgets/qtwidgets-index.html">Qt Widgets</a> are traditional user interface elements that are typically found in desktop environments. The widgets integrate well to the underlying platform providing native look'n'feel on Windows, Linux and Mac OSX. The widgets are mature and feature rich user interface elements suitable for mostly static user interfaces. In contrast to <a href="../qtquick/qtquick-index.html">Qt Quick</a>, the widgets do not scale that well for touch screens and fluid, highly animated modern user interfaces. The widgets are a good choice for applications with traditional desktop centric user interfaces, such as office type applications.</p>
<a name="important-concepts-in-qt-widgets"></a>
<h3>Important Concepts in Qt Widgets</h3>
<ul>
<li><a href="../qtwidgets/mainwindow.html">Application Main Window</a></li>
<li><a href="desktop-integration.html">Desktop Integration</a></li>
<li><a href="../qtwidgets/dialogs.html">Dialog Windows</a></li>
<li><a href="../qtwidgets/layout.html">Layout Management</a></li>
<li><a href="../qtwidgets/model-view-programming.html">Model/View Programming</a></li>
<li><a href="../qtgui/richtext.html">Rich Text Processing</a></li>
<li><a href="../qtgui/dnd.html">Drag and Drop</a></li>
<li><a href="internationalization.html">Internationalization</a></li>
</ul>
<a name="displaying-web-content"></a>
<h2>Displaying Web Content</h2>
<p>Qt provides a <a href="http://www.webkit.org/">WebKit</a>-based layout engine with support for a wide range of standard web techologies such as HTML, CSS and JavaScript, that make it possible to embed content from the World Wide Web into your Qt application. Qt features both <a href="../qtwebkit/webkit.html">WebKit</a>-based QML and C++ APIs.</p>
<p><a href="../qtwebkit/qtwebkit-index.html">Qt WebKit</a> displays web content through the <a href="../qtwebkit/qml-qtwebkit-webview.html">WebView</a> QML type while the <a href="../qtwebkit/qtwebkitwidgets-index.html">Qt WebKit Widgets</a> features a C++ API to render and interact with web content.</p>
<p>The main difference between the two APIs is that <a href="../qtwebkit/qml-qtwebkit-webview.html">WebView</a> utilizes a multi- process architecture, <a href="http://trac.webkit.org/wiki/WebKit2">WebKit2</a>, with a separate web rendering process. The C++ API uses the previous version of <a href="../qtwebkit/webkit.html">WebKit</a>, which has a single-process architecture.</p>
<p>See also <a href="topics-web-content.html">Integrating Web Content</a>.</p>
<a name="comparison"></a>
<h2>Comparison</h2>
<p>Notice that choosing the appropriate technology for building an user interface is not always black and white, but may depend on several criterias, such as other existing technologies used in a project or even target platform constraints. To some extent, many items in the following table can be implemented using any of the three available technologies. The following table merely aims to help you choose the best suited tool for the job.</p>
<table class="generic">
 <thead><tr class="qt-style"><th ></th><th >Qt Quick / Qt Quick Controls</th><th >Qt Widgets</th><th >Qt <a href="../qtwebkit/webkit.html">WebKit</a></th><th >Comments</th></tr></thead>
<tr valign="top" class="odd"><td >Used language(s)</td><td >QML/JS</td><td >C++</td><td >HTML/CSS/JS</td><td ></td></tr>
<tr valign="top" class="even"><td >Native look'n'feel</td><td >X</td><td >X</td><td ></td><td >Qt Widgets and Qt Quick Controls integrate well to the underlying platform, providing a native look'n'feel on Windows, Linux, and Mac OS X.</td></tr>
<tr valign="top" class="odd"><td >Custom look'n'feel</td><td >X</td><td ></td><td >(X)</td><td >Qt Widgets provide means for customization via style sheets, but Qt Quick is a better performing choice for user interfaces that do not aim to look native.</td></tr>
<tr valign="top" class="even"><td >Fluid animated UIs</td><td >X</td><td ></td><td ></td><td >Qt Widgets do not scale well for animations, and Qt <a href="../qtwebkit/webkit.html">WebKit</a>'s CSS3 animations are not as powerful as Qt Quick animations. Qt Quick offers a convenient and natural way to implement animations in a declarative manner.</td></tr>
<tr valign="top" class="odd"><td >Touch screen</td><td >X</td><td ></td><td ></td><td >Qt Widgets often require a mouse cursor for good interaction, whereas Qt Quick only provides primitive building blocks that were designed with touch interaction in mind. The <a href="../qtwebkit/qml-qtwebkit-webview.html">WebView</a> Qt Quick component has support for multi-touch gestures to interact with web content.</td></tr>
<tr valign="top" class="even"><td >Standard industry widgets</td><td ></td><td >X</td><td ></td><td >Qt Widgets provide all the bells and whistles, developed over two decades, needed for building standard industry type applications. Qt <a href="../qtwebkit/webkit.html">WebKit</a> Widgets provide widgets and additional classes to render and interact with web content.</td></tr>
<tr valign="top" class="odd"><td >Model/View programming</td><td >(X)</td><td >X</td><td ></td><td >Some MVC like concepts exist in Qt <a href="../qtwebkit/webkit.html">WebKit</a>, Qt Quick provides convenient views, but Qt Widgets provide more convenient and complete frameworks. In addition to Qt Quick views, Qt Quick Controls provide a <a href="../qtquickcontrols/qml-qtquick-controls-tableview.html">TableView</a>.</td></tr>
<tr valign="top" class="even"><td >Rapid UI development</td><td >X</td><td ></td><td >(X)</td><td >Thanks to its superior productivity, Qt Quick is an excellent choice for rapid UI prototyping and development.</td></tr>
<tr valign="top" class="odd"><td >HW accelerated graphics</td><td >X</td><td ></td><td ></td><td >Qt Widgets provide <a href="../qtopengl/qglwidget.html">QGLWidget</a> for rendering <a href="../qtopengl/opengl-module.html">OpenGL</a> graphics, and Qt <a href="../qtwebkit/webkit.html">WebKit</a> supports WebGL, but the <a href="../qtopengl/opengl-module.html">OpenGL</a> ES 2.0 or <a href="../qtopengl/opengl-module.html">OpenGL</a> 2.0 based <a href="../qtquick/qtquick-visualcanvas-scenegraph.html">Qt Quick Scene Graph</a> has proven to provide the best performance for UIs and for integrating with <a href="../qtopengl/opengl-module.html">OpenGL</a> content.</td></tr>
<tr valign="top" class="even"><td >Graphical effects</td><td >X</td><td ></td><td ></td><td >The particle system and shader effects available in Qt Quick are more flexible compared to CSS Effects and Shaders available in Qt <a href="../qtwebkit/webkit.html">WebKit</a>. Qt Widgets offer very little in this area.</td></tr>
<tr valign="top" class="odd"><td >Rich text processing</td><td >X</td><td >X</td><td ></td><td >Qt Widgets currently provide the most comprehensive base for implementing text editors. Qt's rich text document classes can also be utilized in Qt Quick and Qt Quick Controls' <a href="../qtquickcontrols/qml-qtquick-controls-textarea.html">TextArea</a>, but may require some C++ implementation.</td></tr>
<tr valign="top" class="even"><td >Existing web content</td><td ></td><td ></td><td >X</td><td >Both Qt Quick and Qt Widgets prodive components for presenting <a href="../qtgui/richtext-html-subset.html">simple rich text</a>, but Qt <a href="../qtwebkit/webkit.html">WebKit</a> is the right choice for presenting full-blown web content.</td></tr>
</table>
<a name="internationalization-and-translations"></a>
<h2>Internationalization and Translations</h2>
<p>Qt provides excellent support for translating applications into local languages. Release managers, translators, and developers can use Qt translation tools to accomplish their tasks.</p>
<ul>
<li><a href="internationalization.html">Internationalization with Qt</a> - instructions and the process of creating localized applications.</li>
<li><a href="../qtlinguist/qtlinguist-index.html">Qt Linguist Manual</a> - manual of Qt's translation tool</li>
</ul>
</div>
<!-- @@@topics-ui.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2014 Digia Plc and/or its
   subsidiaries. Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Digia, Qt and their respective logos are trademarks of Digia Plc     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>