summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/src/development/qtestlib.qdoc8
-rw-r--r--doc/src/files-and-resources/resources.qdoc22
-rw-r--r--doc/src/getting-started/installation.qdoc514
-rw-r--r--doc/src/getting-started/known-issues.qdoc125
-rw-r--r--doc/src/objectmodel/signalsandslots.qdoc6
-rw-r--r--doc/src/qt4-intro.qdoc72
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qvariant.cpp2
-rw-r--r--doc/src/snippets/declarative/text/onLinkActivated.qml54
-rw-r--r--doc/src/snippets/layouts/layouts.cpp42
-rw-r--r--doc/src/snippets/signalmapper/filereader.cpp12
-rwxr-xr-xdoc/src/template/style/style.css74
-rw-r--r--doc/src/tutorials/modelview.qdoc30
-rw-r--r--doc/src/widgets-and-layouts/layout.qdoc16
13 files changed, 544 insertions, 433 deletions
diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc
index 0c07747..a83c27e 100644
--- a/doc/src/development/qtestlib.qdoc
+++ b/doc/src/development/qtestlib.qdoc
@@ -88,10 +88,6 @@
\o Custom types can easily be added to the test data and test output.
\endtable
- Note: For higher-level GUI and application testing needs, please
- see the \l{Third-Party Tools}{Qt testing products provided by
- Nokia partners}.
-
\section1 QTestLib API
@@ -218,12 +214,12 @@
\section2 Creating a Benchmark
- To create a benchmark, follow the instructions for crating a test and then add a
+ To create a benchmark, follow the instructions for creating a test and then add a
QBENCHMARK macro to the test function that you want to benchmark.
\snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 12
- The code insde the QBENCHMARK macro will be measured, and possibly also repeated
+ The code inside the QBENCHMARK macro will be measured, and possibly also repeated
several times in order to get an accurate measurement. This depends on the selected
measurement back-end. Several back-ends are available. They can be selected on the
command line:
diff --git a/doc/src/files-and-resources/resources.qdoc b/doc/src/files-and-resources/resources.qdoc
index 3177af8..f0cb130 100644
--- a/doc/src/files-and-resources/resources.qdoc
+++ b/doc/src/files-and-resources/resources.qdoc
@@ -54,7 +54,7 @@
The resource system is based on tight cooperation between \l qmake,
\l rcc (Qt's resource compiler), and QFile. It obsoletes Qt 3's
\c qembed tool and the
- \l{http://doc.qt.nokia.com/qq/qq05-iconography.html}{image
+ \l{http://qt.nokia.com/doc/qq/qq05-iconography.html#imagestorage}{image
collection} mechanism.
\section1 Resource Collection Files (\c{.qrc})
@@ -156,6 +156,26 @@
native support for resources. This might change in a future Qt
release.
+ \section1 Compression
+
+ Resources are compressed by default (in the \c ZIP format). It is
+ possible to turn off compression. This can be useful if your
+ resources already contain a compressed format, such as \c .png
+ files. You do this by giving the \c {-no-compress} command line
+ argument.
+
+ \code
+ rcc -no-compress myresources.qrc
+ \endcode
+
+ \c rcc also gives you some control over the compression. You can
+ specify the compression level and the threshold level to consider
+ while compressing files, for example:
+
+ \code
+ rcc -compress 2 -threshold 3 myresources.qrc
+ \endcode
+
\section1 Using Resources in the Application
In the application, resource paths can be used in most places
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 708f166..bc0128c 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -45,16 +45,19 @@ for your platform from the following list.
\brief How to install Qt on platforms with X11.
\previouspage Installation
-\note Qt for X11 has some requirements that are given in more detail
-in the \l{Qt for X11 Requirements} document.
+\tableofcontents
-\list 1
-\o If you have the commercial edition of Qt, install your license
+ Qt for X11 has some requirements that are given in more detail
+ in the \l{Qt for X11 Requirements} document.
+
+\section1 Step 1: Installing the License File (commercial editions only)
+ If you have the commercial edition of Qt, install your license
file as \c{$HOME/.qt-license}.
For the open source version you do not need a license file.
-\o Unpack the archive if you have not done so already. For example,
+\section1 Step 2: Unpacking the Archive
+ Unpack the archive if you have not done so already. For example,
if you have the \c{qt-everywhere-opensource-src-%VERSION%.tar.gz}
package, type the following commands at a command line prompt:
@@ -64,7 +67,7 @@ in the \l{Qt for X11 Requirements} document.
containing the files from the archive. We only support the GNU version of
the tar archiving utility. Note that on some systems it is called gtar.
-\o Building
+\section1 Step 3: Building the Library
To configure the Qt library for your machine type, run the
\c{./configure} script in the package directory.
@@ -84,12 +87,10 @@ in the \l{Qt for X11 Requirements} document.
If \c{-prefix} is outside the build directory, you need to install
the library, demos, examples, tools, and tutorials in the appropriate
- place. To do this, type:
+ place. To do this (as root if necessary), type:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 3
-
- , as root if necessary.
-
+
Note that on some systems the make utility is named differently,
e.g. gmake. The configure script tells you which make utility to
use.
@@ -99,7 +100,7 @@ in the \l{Qt for X11 Requirements} document.
removed by entering the build directory and typing \c{make confclean}
before running \c configure again.
-\o Environment variables
+\section1 Step 4: Set the Environment Variables
In order to use Qt, some environment variables needs to be
extended.
@@ -125,7 +126,9 @@ in the \l{Qt for X11 Requirements} document.
\c{/usr/local/Trolltech/Qt-%VERSION%/lib}. On Linux with GCC this step
is not needed.
-\o That's all. Qt is now installed.
+\bold {That's all. Qt is now installed.}
+
+\section1 Qt Demos and Examples
If you are new to Qt, we suggest that you take a look at the demos
and examples to see Qt in action. Run the Qt Examples and Demos
@@ -141,7 +144,6 @@ in the \l{Qt for X11 Requirements} document.
\o \l{Developer Zone}
\o \l{Deploying Qt Applications}
\endlist
-\endlist
We hope you will enjoy using Qt. Good luck!
@@ -154,24 +156,22 @@ in the \l{Qt for X11 Requirements} document.
\brief How to install Qt on Windows.
\previouspage Installation
-\note Qt for Windows has some requirements that are given in more detail
-in the \l{Qt for Windows Requirements} document.
+\tableofcontents
-\table
-\row \o \bold{Notes:}
-\list
-\o If you have obtained a binary package for this platform,
-consult the installation instructions provided instead of the ones in
-this document.
-\o \l{Open Source Versions of Qt} is not officially supported for use with
-any version of Visual Studio. Integration with Visual Studio is available
-as part of the \l{Qt Commercial Edition}.
+ Qt for Windows has some requirements that are given in more detail
+ in the \l{Qt for Windows Requirements} document.
-\endlist
-\endtable
+ If you have obtained a binary package for this platform,
+ consult the installation instructions provided instead of the ones in
+ this document.
-\list 1
-\o If you have the commercial edition of Qt, copy the license file
+ Open Source Versions of Qt is not officially supported for use with
+ any version of Visual Studio. Integration with Visual Studio is available
+ as part of the \l{Qt Commercial Edition}.
+
+\section1 Step 1: Install the License File (commercial editions only)
+
+ If you have the commercial edition of Qt, copy the license file
from your account on dist.trolltech.com into your home directory
(this may be known as the \c userprofile environment variable) and
rename it to \c{.qt-license}. This renaming process must be done
@@ -181,13 +181,15 @@ as part of the \l{Qt Commercial Edition}.
For the open source version you do not need a license file.
-\o Uncompress the files into the directory you want Qt installed;
+\section1 Step 2: Unpack the Archive
+
+ Uncompress the files into the directory you want Qt installed;
e.g. \c{C:\Qt\%VERSION%}.
\note The install path must not contain any spaces or Windows specific
file system characters.
-\o Environment variables
+\section1 Step 3: Set the Environment variables
In order to build and use Qt, the \c PATH environment variable needs to be
extended:
@@ -203,12 +205,13 @@ as part of the \l{Qt Commercial Edition}.
other build tools are listed in the \c PATH variable. This will depend
on your choice of software development environment.
- \bold{Note}: If you don't use the configured shells, which is
+ \note If you don't use the configured shells, which is
available in the application menu, in the \l{Open Source Versions of Qt},
\c configure requires that \c sh.exe is not in the path
or that it is run from \c msys. This also goes for mingw32-make.
-\o Building
+\section1 Step 4: Build the Qt Library
+
To configure the Qt library for your machine, type the following command
in a \bold{Visual Studio} command prompt:
@@ -243,7 +246,9 @@ as part of the \l{Qt Commercial Edition}.
removed by entering the build directory and typing \c{nmake distclean}
before running \c configure again.
-\o That's all. Qt is now installed.
+\bold{That's all. Qt is now installed.}
+
+\section1 Qt Demos and Examples
If you are new to Qt, we suggest that you take a look at the demos
and examples to see Qt in action. Run the Qt Examples and Demos
@@ -259,8 +264,6 @@ as part of the \l{Qt Commercial Edition}.
\o \l{Deploying Qt Applications}
\endlist
-\endlist
-
We hope you will enjoy using Qt. Good luck!
*/
@@ -270,11 +273,14 @@ as part of the \l{Qt Commercial Edition}.
\ingroup installation
\brief How to install Qt on Mac OS X.
\previouspage Installation
+\tableofcontents
-\note Qt for Mac OS X has some requirements that are given in more detail
+Qt for Mac OS X has some requirements that are given in more detail
in the \l{Qt for Mac OS X Requirements} document.
-\bold{Note for the binary package}: If you have the binary package, simply double-click on the Qt.mpkg
+The following instructions describe how to install Qt from the source package.
+
+For the binary package, simply double-click on the Qt.mpkg
and follow the instructions to install Qt. You can later run the \c{uninstall-qt.py}
script to uninstall the binary package. The script is located in /Developer/Tools and
must be run as root.
@@ -283,15 +289,13 @@ must be run as root.
\l{http://openradar.appspot.com/7214991}
{iPhone simulator conflicts with the package installer}.
-The following instructions describe how to install Qt from the source package.
-
-\list 1
-\o If you have the commercial edition of Qt, install your license
+\section1 Step 1: Install the License File (commercial editions only)
+ If you have the commercial edition of Qt, install your license
file as \c{$HOME/.qt-license}.
For the open source version you do not need a license file.
-\o Unpack the archive if you have not done so already. For example,
+ Unpack the archive if you have not done so already. For example,
if you have the \c{qt-everywhere-opensource-src-%VERSION%.tar.gz}
package, type the following commands at a command line prompt:
@@ -300,7 +304,7 @@ The following instructions describe how to install Qt from the source package.
This creates the directory \c{/tmp/qt-everywhere-opensource-src-%VERSION%}
containing the files from the archive.
-\o Building
+\section1 Step 2: Build the Qt Library
To configure the Qt library for your machine type, run the
\c{./configure} script in the package directory.
@@ -335,18 +339,18 @@ The following instructions describe how to install Qt from the source package.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 14
- as root, if neccessary (note that this requires that you have administrator access
- to your machine).
+ This command requires that you have administrator access
+ on your machine.
- There is a potential race condition when running make install with multiple
+ \note There is a potential race condition when running make install with multiple
jobs. It is best to only run one make job (-j1) for the install.
- \bold{Note:} If you later need to reconfigure and rebuild Qt from the
+ If you later need to reconfigure and rebuild Qt from the
same location, ensure that all traces of the previous configuration are
removed by entering the build directory and typing \c{make confclean}
before running \c configure again.
-\o Environment variables
+\section1 Step 3: Set the Environment variables
In order to use Qt, some environment variables need to be
extended.
@@ -366,8 +370,9 @@ The following instructions describe how to install Qt from the source package.
If you use a different shell, please modify your environment
variables accordingly.
-\o That's all. Qt is now installed.
+\bold {That's all. Qt is now installed.}
+\section1 Qt Demos and Examples
If you are new to Qt, we suggest that you take a look at the demos
and examples to see Qt in action. Run the Qt Examples and Demos
either by typing \c qtdemo on the command line or through the
@@ -381,7 +386,6 @@ The following instructions describe how to install Qt from the source package.
\o \l{Developer Zone}
\o \l{Deploying Qt Applications}
\endlist
-\endlist
We hope you will enjoy using Qt. Good luck!
@@ -393,96 +397,96 @@ The following instructions describe how to install Qt from the source package.
\ingroup qtce
\brief How to install Qt on Windows CE.
\previouspage Installation
+\tableofcontents
-\note Qt for Windows CE has some requirements that are given in more detail
+Qt for Windows CE has some requirements that are given in more detail
in the \l{Qt for Windows CE Requirements} document.
-\list 1
- \o Uncompress the files into the directory you want to install Qt into;
- e.g., \c{C:\Qt\%VERSION%}.
-
- \note The install path must not contain any spaces.
+\section1 Step 1: Install the License File (commercial editions only)
+ Uncompress the files into the directory you want to install Qt into;
+ e.g., \c{C:\Qt\%VERSION%}.
- \o Environment variables
+ \note The install path must not contain any spaces.
- In order to build and use Qt, the \c PATH environment variable needs
- to be extended:
+\section1 Step 2: Set the Environment variables
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 18
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended:
- This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 18
+ This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
- For newer versions of Windows, \c PATH can be extended through
- "Control Panel->System->Advanced->Environment variables" and for
- older versions by editing \c{c:\autoexec.bat}.
+ For newer versions of Windows, \c PATH can be extended through
+ "Control Panel->System->Advanced->Environment variables" and for
+ older versions by editing \c{c:\autoexec.bat}.
- Make sure the enviroment variables for your compiler are set.
- Visual Studio includes \c{vcvars32.bat} for that purpose - or simply
- use the "Visual Studio Command Prompt" from the Start menu.
+ Make sure the enviroment variables for your compiler are set.
+ Visual Studio includes \c{vcvars32.bat} for that purpose - or simply
+ use the "Visual Studio Command Prompt" from the Start menu.
- \o Configuring Qt
+\section1 Step 3: Configure Qt
- To configure Qt for Windows Mobile 5.0 for Pocket PC, type the
- following:
+ To configure Qt for Windows Mobile 5.0 for Pocket PC, type the
+ following:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 19
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 19
- If you want to configure Qt for another platform or with other
- options, type \c{configure -help} to get a list of all available
- options. See the \c README file for the list of supported platforms.
+ If you want to configure Qt for another platform or with other
+ options, type \c{configure -help} to get a list of all available
+ options. See the \c README file for the list of supported platforms.
+\section1 Step 4: Build Qt Library
- \o Building Qt
+ Now, to build Qt you first have to update your \c PATH, \c INCLUDE
+ and \c LIB paths to point to the correct resources for your target
+ platforms. For a default installation of the Windows Mobile 5.0
+ Pocket PC SDK, this is done with the following commands:
- Now, to build Qt you first have to update your \c PATH, \c INCLUDE
- and \c LIB paths to point to the correct resources for your target
- platforms. For a default installation of the Windows Mobile 5.0
- Pocket PC SDK, this is done with the following commands:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 20
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 20
+ We provide a convenience script for this purpose, called \c{setcepaths}.
+ Simply type:
- We provide a convenience script for this purpose, called \c{setcepaths}.
- Simply type:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 21
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 21
+ Then to build Qt type:
- Then to build Qt type:
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 22
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 22
+\bold{That's all. Qt is now installed.}
- \o That's all. Qt is now installed.
+\section1 Qt Demos and Examples
- To get started with Qt, you can check out the examples found in the
- \c{examples} directory of your Qt installation. The documentation can
- be found in \c{doc\html}.
+ To get started with Qt, you can check out the examples found in the
+ \c{examples} directory of your Qt installation. The documentation can
+ be found in \c{doc\html}.
- \bold{Remember:} If you reconfigure Qt for a different platform,
- make sure you start with a new clean console to get rid of the
- platform dependent include directories.
+ \note If you reconfigure Qt for a different platform,
+ make sure you start with a new clean console to get rid of the
+ platform dependent include directories.
- The links below provide further information for using Qt:
- \list
- \o \l{How to Learn Qt}
- \o \l{Tutorials}
- \o \l{Developer Zone}
- \o \l{Deploying Qt Applications}
- \endlist
+ The links below provide further information for using Qt:
+ \list
+ \o \l{How to Learn Qt}
+ \o \l{Tutorials}
+ \o \l{Developer Zone}
+ \o \l{Deploying Qt Applications}
+ \endlist
- You might also want to try the following Windows CE specific links:
- \list
- \o \l{Windows CE - Introduction to using Qt}
- \o \l{Windows CE - Working with Custom SDKs}
- \o \l{Windows CE - Using shadow builds}
- \o \l{Windows CE - Signing}
- \endlist
+ You might also want to try the following Windows CE specific links:
+ \list
+ \o \l{Windows CE - Introduction to using Qt}
+ \o \l{Windows CE - Working with Custom SDKs}
+ \o \l{Windows CE - Using shadow builds}
+ \o \l{Windows CE - Signing}
+ \endlist
- Information on feature and performance tuning for embedded builds can
- be found on the following pages:
- \list
- \o \l{Fine-Tuning Features in Qt}
- \o \l{Qt Performance Tuning}
- \endlist
-\endlist
+ Information on feature and performance tuning for embedded builds can
+ be found on the following pages:
+ \list
+ \o \l{Fine-Tuning Features in Qt}
+ \o \l{Qt Performance Tuning}
+ \endlist
We hope you will enjoy using Qt. Good luck!
*/
@@ -491,20 +495,22 @@ in the \l{Qt for Windows CE Requirements} document.
\title Installing Qt on the Symbian platform from a Binary Package
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform from a binary package.
+\previouspage Installation
+
+\tableofcontents
-\note Qt for the Symbian platform has some requirements that are given in more detail
+Qt for the Symbian platform has some requirements that are given in more detail
in the \l{Qt for the Symbian platform Requirements} document.
-\list 1
- \o Install Qt
+\section1 Step 1: Install Qt
Run \c{qt-symbian-opensource-%VERSION%.exe} and follow the instructions.
\note Qt must be installed on the same drive as the Symbian SDK you are
using, and the install path must not contain any spaces.
- \o Install Qt into a device
+\section1 Step 2: Install Qt into a device
To run Qt applications on a device, \c{qt_installer.sis} found
in the Qt installation directory must be first installed into the device.
@@ -516,7 +522,7 @@ in the \l{Qt for the Symbian platform Requirements} document.
on the \c{qt_installer.sis} file, select "Install with Nokia Application
Installer" and follow the instructions.
- \o Running Qt demos
+\section1 Running Qt demos
We've included a subset of the Qt demos in this package for you
to try out. An excellent starting point is the "fluidlauncher"
@@ -540,9 +546,8 @@ in the \l{Qt for the Symbian platform Requirements} document.
Symbian platform,
see \l{The Symbian platform - Introduction to Qt}.
- We hope you will enjoy using Qt.
+\bold{We hope you will enjoy using Qt.}
-\endlist
*/
/*! \page install-Symbian.html
@@ -550,206 +555,200 @@ Symbian platform,
\ingroup installation
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform.
+\previouspage Installation
+\tableofcontents
-\note Qt for the Symbian platform has some requirements that are given in more detail
+Qt for the Symbian platform has some requirements that are given in more detail
in the \l{Qt for the Symbian platform Requirements} document.
-\note \bold {This document describes how to install and configure Qt for
-the Symbian platform from scratch.
-If you are using pre-built binaries, follow the instructions given in the
-\l{Installing Qt on the Symbian platform from a Binary Package} document.}
+This document describes how to install and configure Qt for
+the Symbian platform from scratch. If you are using pre-built binaries, follow
+the instructions given in the \l{Installing Qt on the Symbian platform from a
+Binary Package} document.
-\list 1
+\section1 Step 1: Set Up the Development Environment
- \o Setup the development environment
+ Make sure your Symbian development environment is correctly installed
+ and patched as explained in the \l{Qt for the Symbian platform Requirements}
+ document.
- Make sure your Symbian development environment is correctly installed and
- patched as explained in the \l{Qt for the Symbian platform Requirements} document.
+ After you have finished the Symbian development environment setup, it is
+ good to verify that environment is functional for example by compiling one
+ of the pure Symbian examples for both emulator and HW. This can be done from
+ command prompt as follows:
- After you have finished the Symbian development environment setup, it is good
- to verify that environment is functional for example by compiling one
- of the pure Symbian examples for both emulator and HW. This can be done from
- command prompt as follows:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 32
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 32
+ If all steps pass without errors your Symbian development environment is
+ very likely installed correctly.
- If all steps pass without errors your Symbian development environment is
- very likely installed correctly.
+\section1 Step 2: Install Qt
- \o Install Qt
+ Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source
+ package into the directory you want Qt installed, e.g. \c{C:\Qt\%VERSION%}.
- Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source package into the
- directory you want Qt installed, e.g. \c{C:\Qt\%VERSION%}.
+ \note Qt must be installed on the same drive as the Symbian SDK you are
+ using, and the install path must not contain any spaces.
- \note Qt must be installed on the same drive as the Symbian SDK you are
- using, and the install path must not contain any spaces.
+\section1 Step 3: Set the Environment variables
- \o Environment variables
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended:
- In order to build and use Qt, the \c PATH environment variable needs
- to be extended:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 18
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 18
+ This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
- This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
+ On Windows the\c PATH can be extended by navigating to
+ "Control Panel->System->Advanced->Environment variables".
- On Windows the PATH can be extended by navigating to
- "Control Panel->System->Advanced->Environment variables".
+ In addition, you must configure the environment for use with the Symbian
+ emulator. This is done by locating the Carbide.c++ submenu on the Start
+ menu, and choosing "Configure environment for WINSCW command line".
- In addition, you must configure the environment for use with the Symbian
- emulator. This is done by locating the Carbide.c++ submenu on the Start
- menu, and choosing "Configure environment for WINSCW command line".
+ If you are planning to use \c abld (the default build system that comes with
+ the S60 SDK) to build Qt, you will also need to set the following
+ environment variable:
- If you are planning to use abld (the default build system that comes with the S60 SDK)
- to build Qt, you will also need to set the following environment variable:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 33
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 33
+ This is not necessary for other applications, only when building Qt.
- This is not necessary for other applications, only when building Qt.
+\section1 Step 4: Configure Qt
- \o Configure Qt
+ To configure Qt for the Symbian platform, do:
- To configure Qt for the Symbian platform, do:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 23
+ (to build the tools using MinGW, and the libraries using abld)
+
+ \bold or
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 23
- to build the tools using MinGW, and the libraries using abld.
- or
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 31
- to build the tools using MinGW, and the libraries using SBSv2.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 31
+ (to build the tools using MinGW, and the libraries using SBSv2)
- SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
- is a next-generation Symbian build system. SBSv2 is not officially
- supported by any of the S60 SDKs currently available from Forum Nokia.
+ SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
+ is a next-generation Symbian build system. SBSv2 is not officially supported
+ by any of the S60 SDKs currently available from Forum Nokia.
- \o Build Qt
+\section1 Step 5: Build Qt
- To build Qt for the emulator, type:
+ To build Qt for the emulator, type:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 24
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 24
- To build Qt for the device, type:
+ To build Qt for the device, type:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 28
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 28
- Congratulations, Qt is now ready to use.
+ Congratulations, Qt is now ready to use.
- \o Installing Qt libraries on the device
+\section1 Step 7: Installing Qt Libraries on the Device
- To run the demo on a real device, you first have to install
- the Qt libraries on the device:
+ To run the demo on a real device, you first have to install
+ the Qt libraries on the device:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 29
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 29
- The Qt libraries are built with "All -Tcb" capability, so that
- they can support all types of application.
- If you don't have a suitable certificate, it is possible to patch
- the binaries as follows:
+ The Qt libraries are built with "All -Tcb" capability, so that
+ they can support all types of application.
+ If you don't have a suitable certificate, it is possible to patch
+ the binaries as follows:
- \list A
- \o Installing Qt without a certificate
+ If you have no certificate, build a self signed Qt:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 34
- If you have no certificate, build a self signed Qt:
+ If you have a symbian-signed developer certificate, specify the
+ capabilities you can sign for, for example:
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 35
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 34
+\section1 Running Qt demos
- \o Installing Qt with a Symbian developer certificate
+ We've included a subset of the Qt demos in this package for you
+ to try out. An excellent starting point is the "fluidlauncher"
+ demo.
- If you have a symbian-signed developer certificate, specify the
- capabilities you can sign for, for example:
+ Similarly, install fluidlauncher to the device:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 35
- \endlist
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 30
- \o Running Qt demos
+ This will create a self-signed \c fluidlauncher.sis and
+ install it to your device.
- We've included a subset of the Qt demos in this package for you
- to try out. An excellent starting point is the "fluidlauncher"
- demo.
-
- Similarly, install fluidlauncher to the device:
-
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 30
+ To run the demos on the emulator simply navigate to the directory of the demo
+ you want to see and run:
- This will create a self-signed \c fluidlauncher.sis and
- install it to your device.
-
- To run the demos on the emulator simply navigate to the directory of the demo
- you want to see and run:
-
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 27
-
- For more information about building and running Qt programs on the
- Symbian platform, see \l{The Symbian platform - Introduction to Qt}.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 27
+ For more information about building and running Qt programs on the
+ Symbian platform, see \l{The Symbian platform - Introduction to Qt}.
We hope you will enjoy using Qt.
-\endlist
-
*/
/*! \page install-Symbian-linux.html
\title Installing Qt on the Symbian platform using Linux (experimental)
\ingroup installation
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform using Linux.
+\previouspage Installation
+\tableofcontents
-\note \bold {This document describes how to install and configure Qt for
+This document describes how to install and configure Qt for
the Symbian platform from scratch, using Linux as the build host.
Qt for Symbian binaries can be downloaded directly so development of
-applications using Qt for Symbian can start right away.}
-
-\list 1
-
- \o Setup the development environment
+applications using Qt for Symbian can start right away.
- \note Qt for the Symbian platform has some requirements on the development
- platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
- processor used on Symbian devices should be present on the development machine.
- See {http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
+\section1 Step 1: Setup the development environment
- \o Install Qt
+ Qt for the Symbian platform has some requirements on the development
+ platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
+ processor used on Symbian devices should be present on the development
+ machine.
+
+ See \l{http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
+\section1 Step 2: Unpack the Archive
- Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source package into the
+ Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source package into the
directory you want Qt installed, e.g. \c{/home/user/qt/%VERSION%}.
- \o Environment variables
+\section1 Step 3: Set the Environment Variables
- In order to build and use Qt, the \c PATH environment variable needs
- to be extended to fine Qt tools and also to find the Symbian platform tools:
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended to fine Qt tools and also to find the Symbian platform tools:
- First you need to set the \c EPOCROOT environment variable to point to the location
- of your S60 SDK:
+ First you need to set the \c EPOCROOT environment variable to point to the
+ location of your S60 SDK:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 36
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 36
- Then you can update the PATH variable;
+ Then you can update the PATH variable;
\snippet doc/src/snippets/code/doc_src_installation.qdoc 37
- \o Configure Qt
+\section1 Step 4: Configure Qt
- To configure Qt for the Symbian platform, do:
+ To configure Qt for the Symbian platform, do:
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 38
- to build the libraries using RVCT or
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 39
- to build the libraries using GCCE.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 38
+ to build the libraries using RVCT or
- \o Build Qt
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 39
+ to build the libraries using GCCE.
- To build Qt for the device, type:
+\section1 Step 5: Build Qt
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 40
+ To build Qt for the device, type:
- Congratulations, Qt is now ready to use.
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 40
- \o Building Qt packages for the device
+ Congratulations, Qt is now ready to use.
- To run any application or demo on a real device, you need to install it
- on the device. To do this you first have to create a a package for the
- device, containing the libraries:
+\section1 Step 6: Building Qt packages for the Device
- \list A
- \o Building a Qt package without a certificate
+ To run any application or demo on a real device, you need to install it
+ on the device. To do this you first have to create a a package for the
+ device, containing the libraries:
+
+ \bold{Building a Qt package without a certificate}
If you have no certificate, build a self signed Qt:
@@ -760,15 +759,14 @@ applications using Qt for Symbian can start right away.}
capabilities are automatically lowered if you make a self-signed
package.
- \o Building a Qt package with a Symbian developer certificate
+ \bold{Building a Qt package with a Symbian developer certificate}
If you have a symbian-signed developer certificate, specify the
capabilities you can sign for, for example:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 42
- \endlist
-
- \o Installing Qt packages to the device.
+
+ \section2 Installing Qt packages to the device.
It is possible to install packages to a phone in Linux by putting
the package on the phone memory card and then installing manually
@@ -776,8 +774,7 @@ applications using Qt for Symbian can start right away.}
on phones without a memory card, so the method recommended by Qt is
to use the App TRK tool.
- \list a
- \o Obtaining the App TRK package.
+ \section3 Obtaining the App TRK package.
Download the package from the following location.
@@ -793,7 +790,7 @@ applications using Qt for Symbian can start right away.}
menu, or using a Windows PC for doing the install. However,
the installation only has to be done once.
- \o Configuring App TRK on the phone.
+ \section3 Configuring App TRK on the phone.
When App TRK is installed, connect the phone to the PC using
the USB cable. Select "PCSuite" as connection type. Then run
@@ -802,7 +799,7 @@ applications using Qt for Symbian can start right away.}
the \c Settings menu entry. If necessary, choose \c Connect
from the menu.
- \o Configuring the USB serial driver on the Linux system.
+ \section3 Configuring the USB serial driver on the Linux system.
On Linux, phone should appear as the \c /dev/ttyUSB1 device,
however if you are running an old kernel, you may need to
@@ -821,7 +818,7 @@ applications using Qt for Symbian can start right away.}
The \c rmmod step may fail if the module is not already
loaded, but that is harmless.
- \o Building the \c runonphone tool.
+ \section3 Building the \c runonphone tool.
Note that building the \c runonphone tool requires a separate
installation of Qt for Linux. If there is a version of Qt
@@ -846,7 +843,7 @@ applications using Qt for Symbian can start right away.}
Copy the resulting executable to a folder which is in your
\c PATH environment variable.
- \o Installing the built package onto the phone.
+ \section3 Installing the built package onto the phone.
Return to the root of the Qt tree configured for Symbian. Then
install the Qt libraries by running the following:
@@ -863,9 +860,7 @@ applications using Qt for Symbian can start right away.}
\snippet doc/src/snippets/code/doc_src_installation.qdoc 50
- \endlist
-
- \o Running Qt demos
+\section1 Running Qt demos
We've included a subset of the Qt demos in this package for you
to try out. An excellent starting point is the "fluidlauncher"
@@ -883,10 +878,8 @@ applications using Qt for Symbian can start right away.}
Symbian platform, see \l{The Symbian platform - Introduction to Qt}.
We hope you will enjoy using Qt.
-
-\endlist
-
*/
+
/*!
\page requirements.html
\title General Qt Requirements
@@ -958,6 +951,9 @@ applications using Qt for Symbian can start right away.}
\brief Setting up the Mac OS X environment for Qt.
\previouspage General Qt Requirements
+ Qt requires Xcode to be installed on the system. Xcode should be
+ available on the Mac installation CD.
+
\sa {Known Issues}
*/
diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc
index 0c2d8d8..942c41d 100644
--- a/doc/src/getting-started/known-issues.qdoc
+++ b/doc/src/getting-started/known-issues.qdoc
@@ -29,127 +29,12 @@
\page known-issues.html
\title Known Issues
\ingroup platform-specific
- \brief A summary of known issues in this Qt version at the time of release.
+ \brief Links to online resources stating known issues in this Qt version at the time of release.
- An up-to-date list of known issues can be found at
- \l{http://bugreports.qt.nokia.com/}{Qt Bug Tracker}.
-
- For a list list of known bugs, see the \l{Task Tracker} at the Qt
- website.
-
- An overview of known issues may also be found at:
- \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
+ \list
+ \o An up-to-date list of known issues can be found at \l{http://bugreports.qt.nokia.com/}{Qt Bug Tracker}.
+ \o For a list list of known bugs, see the \l{Task Tracker} at the Qt website.
+ \o An overview of known issues may also be found at: \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
{Known Issues Wiki}.
-
- \section1 Installation Issues
-
- \section2 Installing the Source Package on Unix systems
-
- \list
-
- \o If you download a Zip source package, you will need to convert
- Windows-style line endings (CR/LF) to Unix-style line-endings (LF) when
- you uncompress the package. To do this, give the "-a" option when you
- run the "unzip' command.
-
- \o If you fail to supply the "-a" option when unzipping the package, you
- will see the following error message when you attempt to execute the
- configure command:
- "bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory"
-
- \endlist
-
- \section2 Installing on Mac OS X 10.6 "Snow Leopard"
-
- \list
-
- \o There are two workarounds, either disable spotlight for the target
- drive during the install, or do a custom install where you deselect
- documentation and examples. Run the installer again as a full
- install to get the documentation and examples installed.
-
- \endlist
-
- \section1 Issues with Third Party Software
-
- \section2 X11
-
- \list
- \o There is a bug in the 169.xx NVIDIA drivers on certain GeForce 8 series
- cards that is triggered by the OpenGL paint engine when using QPainter
- on a QGLWidget to draw paths and polygons. Some other painting
- operations that end up in the path fallback are affected as well. The
- bug causes the whole X server to repeatedly hang for several seconds at
- a time.
- \o There is an issue with NVIDIA's 9xxx driver series on X11 that causes a
- crash in cases where there are several \l{QGLContext}s and the extended
- composition modes are used (the composition modes between and including
- QPainter::CompositionMode_Multiply and
- QPainter::CompositionMode_Exclusion). This affects the composition mode
- demo in Qt 4.5, for example. The crash does not occur in newer versions
- of the drivers.
- \endlist
-
- \section2 Windows
-
- \list
-
- \o When using version 6.14.11.6921 of the NVIDIA drivers for the GeForce
- 6600 GT under Windows XP, Qt applications which use drag and drop will
- display reduced size drag and drop icons when run alongside
- applications that use OpenGL. This problem can be worked around by
- reducing the level of graphics acceleration provided by the driver, or
- by disabling hardware acceleration completely.
-
- \o With NVIDIA GeForce 7950 GT (driver version 6.14.11.7824), a fullscreen
- QGLWidget flickers when child widgets are shown/hidden. The workaround
- for this is to use \l{QWidget::}{setGeometry()} with a width/height 1
- pixel bigger than your geometry and call \l{QWidget::}{show()}.
-
- \o A bug in the Firebird database can cause an application to crash when
- \c{fbembed.dll} is unloaded. The bug is fixed in version 2.5.
-
- \o On Windows 7, resizing windows is slower than on Vista/Xp. This is because
- the gesture initialization process (required for native gesture support)
- currently calls winId() on widgets, which causes whole widget hierarchies
- to use native window handles. This slows down resizing.
-
- \o Compile errors with Intel C++ Compiler.\br
- There seems to be a bug in the Intel compiler with respect to
- over-agressive inlining of code.
- The problem will manifest itself during the link phase of QtGui where
- it fails with the error that it cannot find QObjectData::~QObjectData().
- See \l{http://bugreports.qt.nokia.com/browse/QTBUG-5145} for updates on this
- bug.
- Also, due to some bugs in WebKit, the QtScript and QtWebKit modules
- will not compile.
- See \l{http://bugreports.qt.nokia.com/browse/QTBUG-6297} for a
- workaround for QtScript.
-
- \o Compile errors with Microsoft Visual C++ compiler. \br
- There seems to be a bug in the Microsoft compiler when compiling with O2
- optimization level in 64 bit.
- This problem will result in crashes in QAbstractItemView::viewOptions().
- See \l{http://bugreports.qt.nokia.com/browse/QTBUG-11445} for updates on this
- bug.
-
-
- \endlist
-
- \section2 Mac OS X
-
- \list
-
- \o If a sheet is opened for a given window, clicking the title bar of that
- window will cause it to flash. This behavior has been reported to Apple
- (bug number 5827676).
-
- \endlist
-
- \section2 Symbian
-
- \list
- \o Check known issues for Symbian at
- \l{http://qt.gitorious.org/qt/pages/QtKnownIssues} {Known Issues Wiki}.
\endlist
*/
diff --git a/doc/src/objectmodel/signalsandslots.qdoc b/doc/src/objectmodel/signalsandslots.qdoc
index 09c427b..c12ca78 100644
--- a/doc/src/objectmodel/signalsandslots.qdoc
+++ b/doc/src/objectmodel/signalsandslots.qdoc
@@ -336,7 +336,7 @@
If on the other hand you want to call two different error
functions when the number overflows, simply connect the signal to
- two different slots. Qt will call both (in arbitrary order).
+ two different slots. Qt will call both (in the order they were connected).
\snippet doc/src/snippets/signalsandslots/lcdnumber.h 10
\snippet doc/src/snippets/signalsandslots/lcdnumber.h 11
@@ -427,6 +427,10 @@
\snippet doc/src/snippets/signalmapper/filereader.cpp 1
+ \note The following code will compile and run, but due to signature normalization, the code will be slower.
+
+ \snippet doc/src/snippets/signalmapper/filereader.cpp 2
+
\sa {Meta-Object System}, {Qt's Property System}
\target 3rd Party Signals and Slots
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 8684ad2..919bb88 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -476,7 +476,7 @@
QML UIs through drag-and-drop. The text editor supports the QML
syntax and provides authoring assistance such as auto-completion,
error lookup, help lookup and easy preview of QML UI's. The Qt
- Quick features in Qt Creator will be released with Qt Creator 2.1
+ Quick features in Qt Creator will be released with Qt Creator 2.1
\endlist
\section1 Network Bearer Management
@@ -489,14 +489,72 @@
QNetworkAccessManager uses this API for HTTP level roaming.
- \section1 Multimedia - playback and declarative elements
+ \section1 Feature Improvements in QtWebKit
- The Multimedia API provides media playback and playlist support
- for Qt Applications. Play music and movies through a single interface
- with selectable output for movies to widgets or graphics view.
+ The QGraphicsWebView class has a new tiled backing store, which
+ improves scrolling and zooming performance. You can even create
+ animated zoom-in or zoom-out effects (see
+ QWebSettings::TiledBackingStoreEnabled).
- Multimedia support for Quick is also available with the new multimedia
- declarative elements.
+ On mobile platforms, it is often useful to avoid displaying
+ separate scrollbars for iframes and framesets. If you switch on
+ frame flattening, QtWebKit will resize frames to fit their content
+ to avoid separate scrollbars (see
+ QWebSettings::FrameFlatteningEnabled).
+
+ Qt 4.7 adds support for accelerated compositing, which enhances
+ the performance of CSS animations and transitions. Read more in
+ \l{http://labs.trolltech.com/blogs/2010/05/17/qtwebkit-now-accelerates-css-animations-3d-transforms/}{this blog}.
+
+ For hybrid QtWebKit and C++ projects, Qt 4.7 has added support for
+ transporting \l{QPixmap}s between Qt C++ and WebKit. We have also
+ improved the documentation hybrid development. Read more here:
+ \l{The QtWebKit Bridge}.
+
+ \section1 QtWebKit Performance Benchmarks
+
+ We have introduced a set of performance benchmarks for QtWebKit,
+ and made numerous improvements in rendering performance, page
+ loading performance, scrolling performance and CSS performance.
+ Here are some examples from the benchmarks run on a 64-bit Linux
+ workstation with the raster graphics system.
+
+ In a benchmark that measures the scrolling performance on popular
+ websites, we found out that Qt 4.7.0 on this platform is 350%
+ faster than Qt 4.6.0, thanks to several rendering related
+ improvements.
+
+ Our page loading benchmark shows an improvement of 16% in Qt 4.7.0
+ from Qt 4.6.0. This is due to improvements in text layout speed,
+ image decoding, resource loading and event handling.
+
+ Several CSS animation benchmarks indicate a speed improvement of
+ 31% from Qt 4.6.0 to Qt 4.7.0. These benchmarks are effectively
+ showing the improvement we get from accelerated compositing (see
+ above).
+
+ \section1 Other Performance Related Improvements
+
+ In addition to the QtWebKit module, performance has been a focus
+ area in Qt 4.7 throughout the Qt framework. Here are a couple of
+ examples about performance related feature improvements.
+
+ On Mac OS X, Qt now uses a different widget implementation (called
+ "alien widgets"), which improves the responsiveness of
+ applications that have complex user interfaces with several
+ widgets.
+
+ Qt 4.7 introduces the QStaticText class, which can be used to
+ improve text rendering performance. More info is available from
+ \l{http://labs.trolltech.com/blogs/2010/03/01/insanity-is-shaping-the-same-text-again-and-expecting-a-different-result/}{this blog}.
+
+ The QPainter class has a new API for rendering pixmap fragments
+ (QPainter::drawPixmapFragments), which can improve the rendering
+ performance of applications that need to render
+ \l{QPainter::drawPixmapFragments()}{pixmap fragments}.
+
+ Qt 4.7 has an updated version of the JavaScriptCore engine for the
+ QtScript module, which improves JavaScript execution performance.
\section1 New Classes, Functions, Macros, etc.
diff --git a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
index fd3f5d2..472c90e 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
@@ -101,7 +101,7 @@ QVariant v;
MyCustomStruct c;
if (v.canConvert<MyCustomStruct>())
- c = v.value<MyCustomStruct>(v);
+ c = v.value<MyCustomStruct>();
v = 7;
int i = v.value<int>(); // same as v.toInt()
diff --git a/doc/src/snippets/declarative/text/onLinkActivated.qml b/doc/src/snippets/declarative/text/onLinkActivated.qml
new file mode 100644
index 0000000..0fb236a
--- /dev/null
+++ b/doc/src/snippets/declarative/text/onLinkActivated.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import Qt 4.7
+
+Rectangle {
+ width: 700; height: 400
+
+//![0]
+ Text {
+ textFormat: Text.RichText
+ text: "The main website is at <a href=\"http://qt.nokia.com\">Nokia Qt DF</a>."
+ onLinkActivated: console.log(link + " link activated")
+ }
+//![0]
+
+}
+
diff --git a/doc/src/snippets/layouts/layouts.cpp b/doc/src/snippets/layouts/layouts.cpp
index 66c9b9d..58440f5 100644
--- a/doc/src/snippets/layouts/layouts.cpp
+++ b/doc/src/snippets/layouts/layouts.cpp
@@ -66,7 +66,9 @@ int main(int argc, char *argv[])
layout->addWidget(button5);
window->setLayout(layout);
-//! [4] //! [5]
+//! [4]
+ window->setWindowTitle("QHBoxLayout");
+//! [5]
window->show();
//! [5]
}
@@ -93,7 +95,9 @@ int main(int argc, char *argv[])
layout->addWidget(button5);
window->setLayout(layout);
-//! [10] //! [11]
+//! [10]
+ window->setWindowTitle("QVBoxLayout");
+//! [11]
window->show();
//! [11]
}
@@ -120,10 +124,42 @@ int main(int argc, char *argv[])
layout->addWidget(button5, 2, 1);
window->setLayout(layout);
-//! [16] //! [17]
+//! [16]
+ window->setWindowTitle("QGridLayout");
+//! [17]
window->show();
//! [17]
}
+ {
+//! [18]
+ QWidget *window = new QWidget;
+//! [18]
+//! [19]
+ QPushButton *button1 = new QPushButton("One");
+ QLineEdit *lineEdit1 = new QLineEdit();
+//! [19]
+//! [20]
+ QPushButton *button2 = new QPushButton("Two");
+ QLineEdit *lineEdit2 = new QLineEdit();
+ QPushButton *button3 = new QPushButton("Three");
+ QLineEdit *lineEdit3 = new QLineEdit();
+//! [20]
+//! [21]
+ QFormLayout *layout = new QFormLayout;
+//! [21]
+//! [22]
+ layout->addRow(button1, lineEdit1);
+ layout->addRow(button2, lineEdit2);
+ layout->addRow(button3, lineEdit3);
+
+ window->setLayout(layout);
+//! [22]
+ window->setWindowTitle("QFormLayout");
+//! [23]
+ window->show();
+//! [23]
+ }
+
return app.exec();
}
diff --git a/doc/src/snippets/signalmapper/filereader.cpp b/doc/src/snippets/signalmapper/filereader.cpp
index 76ed4c1..08f4d06 100644
--- a/doc/src/snippets/signalmapper/filereader.cpp
+++ b/doc/src/snippets/signalmapper/filereader.cpp
@@ -66,10 +66,18 @@ FileReader::FileReader(QWidget *parent)
//! [0]
//! [1]
- connect(signalMapper, SIGNAL(mapped(const QString &)),
- this, SLOT(readFile(const QString &)));
+ connect(signalMapper, SIGNAL(mapped(QString)),
+ this, SLOT(readFile(QString)));
//! [1]
+/*
+//! [2]
+ //slower due to signature normalization at runtime
+
+ connect(signalMapper, SIGNAL(mapped(const QString &)),
+ this, SLOT(readFile(const QString &)));
+//! [2]
+*/
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addWidget(taxFileButton);
buttonLayout->addWidget(accountFileButton);
diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css
index 6cc1cb6..b60aa41 100755
--- a/doc/src/template/style/style.css
+++ b/doc/src/template/style/style.css
@@ -193,7 +193,7 @@
/* font style elements */
.heading
{
- font: normal bold 16px/1.0 Arial;
+ font: normal bold 16px/1.2 Arial;
padding-bottom: 15px;
}
.subtitle
@@ -670,7 +670,7 @@
.wrap .toolbar .breadcrumb
{
font-size: 11px;
- line-height: 1;
+ line-height: 1.2;
padding: 0 0 10px 21px;
height: 10px;
}
@@ -779,26 +779,27 @@
.wrap .content ol li {
background:none;
- font:normal 10pt/1 Verdana;
+ font:normal 10pt/1.2 Verdana;
margin-bottom:10px;
margin-left:12px;
/*list-style-type:disc;*/
}
-
- .wrap .content li
- {
- background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: normal 400 10pt/1 Verdana;
- margin-bottom: 10px;
- padding-left:12px;
- }
.wrap .content ol li
{
background:none;
margin-bottom: 10px;
padding-left:0px;
+ margin-left:52px;
+ }
+
+ .wrap .content li
+ {
+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
+ font: normal 400 10pt/1.2 Verdana;
+ margin-bottom: 10px;
+ padding-left:12px;
}
.content li:hover {}
@@ -829,7 +830,7 @@
.wrap .content table p
{
line-height: 20px;
- padding: 0px;
+ /* padding: 0px;*/
}
.wrap .content ul
{
@@ -858,7 +859,7 @@
text-decoration: underline;
}
.alphaChar{
- width:100%;
+ width:95%;
background-color:#F6F6F6;
border:1px solid #E6E6E6;
-moz-border-radius: 7px 7px 7px 7px;
@@ -870,16 +871,39 @@
margin-bottom:10px;
}
.flowList{
- vertical-align:top;
+ /*vertical-align:top;*/
+ /*margin:20px auto;*/
+
+ column-count:3;
+ -webkit-column-count:3;
+ -moz-column-count:3;
+/*
+ column-width:100%;
+ -webkit-column-width:200px;
+ -col-column-width:200px;
+*/
+ column-gap:41px;
+ -webkit-column-gap:41px;
+ -moz-column-gap:41px;
+
+ column-rule: 1px dashed #ccc;
+ -webkit-column-rule: 1px dashed #ccc;
+ -moz-column-rule: 1px dashed #ccc;
}
.flowList dl{
}
.flowList dd{
- display:inline-block;
+ /*display:inline-block;*/
margin-left:10px;
- width:250px;
+ min-width:250px;
+ line-height: 1.2;
+
+ }
+
+ .flowList dd a{
}
+
.wrap .content .flowList p{
padding:0px;
}
@@ -938,7 +962,7 @@
padding: 5px 5px 0 0;
margin-bottom: 3px;
color: #363534;
- font-weight: 600;
+ font-weight:bold;
float: right;
text-decoration: none;
}
@@ -1003,7 +1027,7 @@
.generic{
}
.generic td{
- padding:5px;
+ /* padding:5px;*/
}
.generic .alphaChar{
margin-top:5px;
@@ -1330,6 +1354,9 @@
background-color: #FAFAFA;
}
+ .wrap .content ol li {
+
+ }
.creator .header, .footer, .wrapper
@@ -1373,10 +1400,17 @@
.creator .footer
{
border-top:1px solid #E5E5E5;
- min-height: 100px;
+ height: 50px;
margin:0px;
+ padding:10px;
}
+ .creator .footer p
+ {
+ text-align:justify;
+ max-width:900px;
+ }
+
.creator .wrap
{
@@ -1423,7 +1457,7 @@
max-width:75%;
}
.creator .generic td{
- padding:0;
+ /*padding:0;*/
}
.creator .indexboxbar
{
diff --git a/doc/src/tutorials/modelview.qdoc b/doc/src/tutorials/modelview.qdoc
index 65f6674..e47fe83 100644
--- a/doc/src/tutorials/modelview.qdoc
+++ b/doc/src/tutorials/modelview.qdoc
@@ -30,7 +30,7 @@
\startpage {index.html}{Qt Reference Documentation}
- \title Model/View Contents
+ \title Model/View Tutorial
\brief An introduction to ModelView programming
Every UI developer should know about ModelView programming and the goal of
@@ -103,13 +103,13 @@
Let's have a closer look at a standard table widget. A table widget is a 2D
array of the data elements that the user can change. The table widget can be
integrated into a program flow by reading and writing the data elements that
- the table widget provides. This method is very intuitive and useful in many
- applications.
-
- Displaying and editing a database table with a standard table widget can be
- problematic. Two copies of the data have to be coordinated: one outside the
+ the table widget provides.
+
+ This method is very intuitive and useful in many applications, but displaying
+ and editing a database table with a standard table widget can be problematic.
+ Two copies of the data have to be coordinated: one outside the
widget; one inside the widget. The developer is responsible for
- synchronizing both versions. The tight coupling of presentation and data
+ synchronizing both versions. Besides this, the tight coupling of presentation and data
makes it harder to write unit tests.
\section2 1.2 Model/View to the Rescue
@@ -184,7 +184,13 @@
\section1 2. A Simple Model/View Application
- If you want to develop a model/view application, where should you start? We recommend starting with a simple example and extending it step-by-step. This makes understanding the architecture a lot easier. Trying to understand the model/view architecture in detail before invoking the IDE has proven to be less convenient for many developers. It is substantially easier to start with a simple model/view application that has demo data. Give it a try! Simply replace the data in the examples below with your own.
+ If you want to develop a model/view application, where should you start?
+ We recommend starting with a simple example and extending it step-by-step.
+ This makes understanding the architecture a lot easier. Trying to understand
+ the model/view architecture in detail before invoking the IDE has proven
+ to be less convenient for many developers. It is substantially easier to
+ start with a simple model/view application that has demo data. Give it a
+ try! Simply replace the data in the examples below with your own.
Below are 7 very simple and independent applications that show different
sides of model/view programming. The source code can be found inside the
@@ -596,20 +602,22 @@
\list 1
\o \bold{C++ GUI Programming with Qt 4} / Jasmin Blanchette, Mark Summerfield,
\e{Prentice Hall, 2nd edition}, ISBN 0-13-235416-0. Also available in
- German: C++ GUI Programmierung mit Qt 4: Die offizielle Einführung,
+ German: \bold{C++ GUI Programmierung mit Qt 4: Die offizielle Einführung},
\e{Addison-Wesley}, ISBN 3-827327-29-6
\o \bold{The Book of Qt4, The Art of Building Qt Applications} / Daniel Molkentin,
\e{Open Source Press}, ISBN 1-59327-147-6.
Translated from \bold{Qt 4, Einführung in die Applikationsentwicklung},
\e{Open Source Press}, ISBN 3-937514-12-0.
\o \bold{Foundations of Qt Development} / Johan Thelin, \e{Apress}, ISBN 1-59059-831-8.
+ \o \bold{Advanced Qt Programming} / Mark Summerfield, \e{Prentice Hall}, ISBN 0-321-63590-6.
+ This book covers Model/View programming on more than 150 pages.
\endlist
More information about these books is available on the
\l{Books about Qt Programming}{Qt Web site}.
- The following list provides an overview of example programs contained in the
- books above. Some of them make very good templates for developing similar
+ The following list provides an overview of example programs contained in the first three
+ books listed above. Some of them make very good templates for developing similar
applications.
\table
diff --git a/doc/src/widgets-and-layouts/layout.qdoc b/doc/src/widgets-and-layouts/layout.qdoc
index 32dddd7..4db991a 100644
--- a/doc/src/widgets-and-layouts/layout.qdoc
+++ b/doc/src/widgets-and-layouts/layout.qdoc
@@ -116,7 +116,7 @@
\section2 Laying Out Widgets in Code
The following code creates a QHBoxLayout that manages the geometry of five
- \l{QPushButton}s, as shown on the first screenshot above:
+ \l{QPushButton}{QPushButtons}, as shown on the first screenshot above:
\snippet doc/src/snippets/layouts/layouts.cpp 0
\snippet doc/src/snippets/layouts/layouts.cpp 1
@@ -141,7 +141,19 @@
The third QPushButton spans 2 columns. This is possible by specifying 2 as
the fifth argument to QGridLayout::addWidget().
- Finally, the code for QFormLayout is ..
+ QFormLayout will add two widgets on a row, commonly a QLabel and a QLineEdit
+ to create forms. Adding a QLabel and a QLineEdit on the same row will set
+ the QLineEdit as the QLabel's buddy. The following code will use the
+ QFormLayout to place three \l{QPushButton}{QPushButtons} and a corresponding
+ QLineEdit on a row.
+
+ \snippet doc/src/snippets/layouts/layouts.cpp 18
+ \snippet doc/src/snippets/layouts/layouts.cpp 19
+ \snippet doc/src/snippets/layouts/layouts.cpp 20
+ \codeline
+ \snippet doc/src/snippets/layouts/layouts.cpp 21
+ \snippet doc/src/snippets/layouts/layouts.cpp 22
+ \snippet doc/src/snippets/layouts/layouts.cpp 23
\section2 Tips for Using Layouts