| 
									
										
										
										
											2009-11-24 17:27:59 +01:00
										 |  |  | // ********************************************************************** | 
					
						
							|  |  |  | // NOTE: the sections are not ordered by their logical order to avoid | 
					
						
							|  |  |  | // reshuffling the file each time the index order changes (i.e., often). | 
					
						
							|  |  |  | // Run the fixnavi.pl script to adjust the links to the index order. | 
					
						
							|  |  |  | // ********************************************************************** | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage{index.html}{Qt Creator} | 
					
						
							|  |  |  |     \page index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \nextpage creator-overview.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \title Qt Creator Manual | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-01 17:57:37 +01:00
										 |  |  |     \section1 Version 1.3.82 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     Qt Creator provides integrated tools for both application designers | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     and developers to create applications for multiple desktop and mobile device | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     platforms. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     For application designers, Qt Creator provides two integrated | 
					
						
							|  |  |  |     visual editors, \QD and \QMLD, that you can use to design and develop | 
					
						
							|  |  |  |     application user interfaces. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     For application developers, | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Qt Creator provides a cross-platform, complete integrated development | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     environment (IDE) that is available for Linux, | 
					
						
							|  |  |  |     Mac OS X and Windows operating systems. For more information, see | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |     \l{Operating Systems and Supported Platforms}. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-28 19:10:57 +02:00
										 |  |  |     \note Please report bugs and suggestions to the | 
					
						
							| 
									
										
										
										
											2009-10-28 14:36:28 +01:00
										 |  |  |     \l{http://bugreports.qt.nokia.com}{Qt Bug Tracker}. | 
					
						
							| 
									
										
										
										
											2009-08-28 19:10:57 +02:00
										 |  |  |     You can also join the Qt Creator mailing list. To subscribe, | 
					
						
							|  |  |  |     send a message with the word \e subscribe to | 
					
						
							|  |  |  |     \l{mailto:qt-creator-request@trolltech.com} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     {qt-creator-request@trolltech.com}. For more information about Qt mailing | 
					
						
							| 
									
										
										
										
											2009-08-28 19:10:57 +02:00
										 |  |  |     lists, visit \l{http://lists.trolltech.com}{http://lists.trolltech.com}. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-31 16:16:37 +02:00
										 |  |  |     \raw HTML | 
					
						
							|  |  |  |     <img border="0" style="float:right;" src="images/qtcreator-screenshots.png" /> | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  |     \endraw | 
					
						
							| 
									
										
										
										
											2009-08-31 16:16:37 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \list | 
					
						
							| 
									
										
										
										
											2010-02-17 12:10:49 +01:00
										 |  |  |        \o \l{Introducing Qt Creator} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |        \o \l{Operating Systems and Supported Platforms} | 
					
						
							|  |  |  |        \o \l{Quick Tour} | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |        \o \l{Getting Started} | 
					
						
							|  |  |  |            \list | 
					
						
							|  |  |  |                \o \l{Writing a Simple Program} | 
					
						
							|  |  |  |                \o \l{Creating an Animated Application} | 
					
						
							|  |  |  |            \endlist | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |        \o \l{Using the Editor} | 
					
						
							|  |  |  |             \list | 
					
						
							|  |  |  |                 \o \l{Finding and Replacing} | 
					
						
							|  |  |  |                 \o \l{Refactoring} | 
					
						
							|  |  |  |                 \o \l{Searching With the Locator} | 
					
						
							|  |  |  |             \endlist | 
					
						
							|  |  |  |        \o \l{Managing Projects} | 
					
						
							|  |  |  |             \list | 
					
						
							|  |  |  |                 \o \l{Creating a Project} | 
					
						
							|  |  |  |                 \o \l{Setting Up a qmake Project} | 
					
						
							|  |  |  |                 \o \l{Setting Up a CMake Project} | 
					
						
							|  |  |  |                 \o \l{Setting Up a Generic Project} | 
					
						
							|  |  |  |                 \o \l{Managing Sessions} | 
					
						
							|  |  |  |             \endlist | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |        \o \l{Developing QML Applications} | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |        \o \l{Developing Mobile Applications} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \list | 
					
						
							|  |  |  |                 \o \l{Developing Maemo Applications} | 
					
						
							|  |  |  |                 \o \l{Developing Symbian Applications} | 
					
						
							|  |  |  |             \endlist | 
					
						
							|  |  |  |        \o \l{Debugging} | 
					
						
							|  |  |  |        \o \l{Using Version Control Systems} | 
					
						
							| 
									
										
										
										
											2010-03-01 14:42:51 +01:00
										 |  |  |        \o \l{Adding Qt Designer Plugins} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |        \o \l{Tips and Tricks} | 
					
						
							|  |  |  |        \o \l{Keyboard Shortcuts} | 
					
						
							|  |  |  |        \o \l{Known Issues} | 
					
						
							|  |  |  |        \o \l{Glossary} | 
					
						
							|  |  |  |        \o \l{Acknowledgements} | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \previouspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-17 12:10:49 +01:00
										 |  |  |     \page creator-overview.html | 
					
						
							|  |  |  |     \nextpage creator-os-supported-platforms.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   \title Introducing Qt Creator | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |   Qt Creator provides you with tools to design and develop user interfaces and | 
					
						
							|  |  |  |   complex applications for multiple desktop and mobile | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |   platforms. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |   \section1 Designing User Interfaces | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Qt Creator provides two integrated visual editors, \QD and \QMLD. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   \QD is a tool for designing and building graphical user interfaces (GUIs) from | 
					
						
							|  |  |  |   Qt widgets. You can compose and customize your widgets or dialogs and test | 
					
						
							|  |  |  |   them using different styles and resolutions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Widgets and forms created with \QD are integrated seamlessly with programmed code, | 
					
						
							|  |  |  |   using the Qt signals and slots mechanism, that lets you easily assign behavior to | 
					
						
							|  |  |  |   graphical elements. All properties set in \QD can be changed dynamically within the code. | 
					
						
							|  |  |  |   Furthermore, features like widget promotion and custom plugins allow you to use your | 
					
						
							|  |  |  |   own widgets with \QD. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   UIs that use widgets are clearly structured and enforce a platform look and feel, | 
					
						
							|  |  |  |   which makes them useful for traditional applications. However, they are static, and | 
					
						
							|  |  |  |   do not fully make use of the large high-resolution screens, touch input, and significant | 
					
						
							|  |  |  |   graphics power that are becoming common in portable consumer devices, such as mobile | 
					
						
							|  |  |  |   phones, media players, set-top boxes, and netbooks. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   \QMLD allows you to easily develop animations by using a declarative programming | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |   language called \l {http://qt.nokia.com/doc/4.7-snapshot/declarativeui.html}{QML}. | 
					
						
							|  |  |  |   In QML, a user interface is specified as a tree of objects with properties. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   You use a visual editor to create items, screens, and applications, as well as define changes | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |   in their state. \QMLD generates the necessary code for you. | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |   You can edit the code in the code editor to add transitions from one state to another, | 
					
						
							|  |  |  |   and interaction to specify user actions that change the states. You | 
					
						
							|  |  |  |   can use Qt to implement the application logic. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |   \section1 Coding Applications | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 12:10:49 +01:00
										 |  |  |   As an IDE, Qt Creator differs from a text editor in that it knows how to build and run | 
					
						
							|  |  |  |   applications. It understands the code as code, not just as plain text. This allows | 
					
						
							|  |  |  |   it to: | 
					
						
							|  |  |  |   \list | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |       \o Enable you to write well formatted code | 
					
						
							|  |  |  |       \o Anticipate what you are going to write and complete the code | 
					
						
							|  |  |  |       \o Display inline error and warning messages | 
					
						
							|  |  |  |       \o Enable you to semantically navigate to classes, functions, and symbols | 
					
						
							|  |  |  |       \o Provide you with context-sensitive help on classes, functions, and symbols | 
					
						
							| 
									
										
										
										
											2010-02-18 16:25:42 +01:00
										 |  |  |       \o Rename symbols in an intelligent way, so that other symbols with the same name | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |          that belong to other scopes are not renamed | 
					
						
							|  |  |  |       \o Show you the locations in code where a function is declared or called | 
					
						
							| 
									
										
										
										
											2010-02-17 12:10:49 +01:00
										 |  |  |    \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       \section1 Why Do You Need Projects? | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       To be able to build and run applications, Qt Creator needs the same | 
					
						
							|  |  |  |       information as a compiler would need. This information is specified in the | 
					
						
							|  |  |  |       project build and run settings. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       Creating a project allows you to: | 
					
						
							|  |  |  |       \list | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |       \o Group files together | 
					
						
							|  |  |  |       \o Add custom build steps | 
					
						
							|  |  |  |       \o Include forms and resource files | 
					
						
							|  |  |  |       \o Specify settings for running applications | 
					
						
							| 
									
										
										
										
											2010-02-17 12:10:49 +01:00
										 |  |  |       \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       You can either create a project from scratch or import an existing | 
					
						
							|  |  |  |       project. Qt Creator generates all the necessary files, depending on the type of | 
					
						
							|  |  |  |       project you create. For example, if you choose to create a graphical user | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |       interface (GUI) application, Qt Creator generates an empty .ui file | 
					
						
							|  |  |  |       that you can modify with the integrated \QD. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       If you choose to create a QML application, Qt Creator generates a .qml file | 
					
						
							|  |  |  |       that you can modify with the \QMLD visual editor and the code editor. | 
					
						
							| 
									
										
										
										
											2010-02-17 12:10:49 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-overview.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \page creator-os-supported-platforms.html | 
					
						
							|  |  |  |     \nextpage creator-quick-tour.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \title Operating Systems and Supported Platforms | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Operating Systems | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator is available in binary packages for the following operating | 
					
						
							|  |  |  |     systems: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o Windows XP Service Pack 2 | 
					
						
							|  |  |  |         \o Windows Vista | 
					
						
							|  |  |  |         \o (K)Ubuntu Linux 7.04 32-bit and 64-bit with the following: | 
					
						
							|  |  |  |            \list | 
					
						
							|  |  |  |                \o g++ | 
					
						
							|  |  |  |                \o make | 
					
						
							|  |  |  |                \o libglib2.0-dev | 
					
						
							|  |  |  |                \o libSM-dev | 
					
						
							|  |  |  |                \o libxrender-dev | 
					
						
							|  |  |  |                \o libfontconfig1-dev | 
					
						
							|  |  |  |                \o libxext-dev | 
					
						
							|  |  |  |                \o libfreetype6-dev | 
					
						
							|  |  |  |                \o libx11-dev | 
					
						
							|  |  |  |                \o libxcursor-dev | 
					
						
							|  |  |  |                \o libxfixes-dev | 
					
						
							|  |  |  |                \o libxft-dev | 
					
						
							|  |  |  |                \o libxi-dev | 
					
						
							|  |  |  |                \o libxrandr-dev | 
					
						
							| 
									
										
										
										
											2010-03-12 16:10:22 +01:00
										 |  |  |                \o If you are using QtOpenGL, libgl-dev and libglu-dev | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            \endlist | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o Mac OS 10.5 or later with the following: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            \list | 
					
						
							|  |  |  |                \o Xcode tools for your Mac OS X version available from your Mac | 
					
						
							|  |  |  |                   OS X installation DVDs or at \l http://developer.apple.com. | 
					
						
							|  |  |  |            \endlist | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |          \omit  ## Are the Xcode tools still needed separately? \endomit | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Build Environment | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     To build Qt Creator itself from the source, you need: | 
					
						
							|  |  |  |     \list | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o Qt 4.7 or later | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o On Windows, MinGW 4.4 or Microsoft Visual Studio 2008 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Supported Mobile Device Platforms | 
					
						
							|  |  |  |     You can develop applications for the following mobile device | 
					
						
							|  |  |  |     platforms: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o Symbian | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o Maemo and Maemo Application Development and Debugging Environment (MADDE) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The following table summarizes operating system support for building | 
					
						
							|  |  |  |     applications for mobile device platforms. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |             \o {1,3} Operating system | 
					
						
							|  |  |  |             \o {3,1} Platform | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \header | 
					
						
							|  |  |  |             \o Desktop | 
					
						
							|  |  |  |             \o Symbian | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |             \o Maemo | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \o Windows | 
					
						
							|  |  |  |             \o Yes | 
					
						
							|  |  |  |             \o Yes | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |             \o Yes | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \o Linux | 
					
						
							|  |  |  |             \o Yes | 
					
						
							|  |  |  |             \o No | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |             \o Yes | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \o Mac OS X | 
					
						
							|  |  |  |             \o Yes | 
					
						
							|  |  |  |             \o No | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |             \o No | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endtable | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-os-supported-platforms.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \page creator-quick-tour.html | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \nextpage creator-getting-started.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Quick Tour | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The figure below shows some of the components of Qt Creator in | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \gui{Edit} mode. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-breakdown.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Qt Creator Modes | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The mode selector allows you to quickly switch between tasks such as | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     editing project and source files, designing application UIs, | 
					
						
							|  |  |  |     configuring how projects are built and | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     executed, and debugging your applications. To change modes, click the | 
					
						
							|  |  |  |     icons, or use the \l{keyboard-shortcuts}{corresponding keyboard shortcut}. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |         \o \gui Welcome mode for opening recent sessions and projects. | 
					
						
							|  |  |  |         \o \gui{\l{Using the Editor}{Edit}} mode for editing project and source files. | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |         \o \gui{\l{Developing Application UI}{Design}} mode for designing and developing | 
					
						
							|  |  |  |            application user interfaces. | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |         \o \gui{\l{Debugging}{Debug}} mode for inspecting the state of your program while | 
					
						
							|  |  |  |            debugging. | 
					
						
							|  |  |  |         \o \gui{\l{Managing Projects}{Projects}} mode for configuring project building and | 
					
						
							|  |  |  |            execution. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o \gui{\l{Getting Help}{Help}} mode for viewing Qt documentation. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Certain actions in Qt Creator trigger a mode change. For example, | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \gui {Debug} > \gui {Start Debugging} > \gui {Start Debugging} | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |     automatically switches to \gui {Debug} mode. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Browsing Project Contents | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Use the sidebar to browse files, projects and bookmarks. | 
					
						
							|  |  |  |     \image qtcreator-sidebar.png | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     You can select the content of the sidebar in the sidebar menu: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o \gui Projects shows a list of projects open in the current | 
					
						
							|  |  |  |            session. | 
					
						
							|  |  |  |         \o \gui{File System} shows the content of the currently selected | 
					
						
							|  |  |  |            directory. | 
					
						
							|  |  |  |         \o \gui Bookmarks shows all bookmarks for the current session. | 
					
						
							|  |  |  |         \o \gui{Open Documents} shows currently open files. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     You can change the view of the sidebar in the following ways: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To toggle the sidebar, click \inlineimage qtcreator-togglebutton.png | 
					
						
							|  |  |  |            or press \key Alt+0 (\key Cmd+0 on Mac OS X). | 
					
						
							|  |  |  |         \o To split the sidebar, click \inlineimage qtcreator-splitbar.png | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            . Select new content to view in the split view. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o To close a sidebar view, click | 
					
						
							|  |  |  |            \inlineimage qtcreator-closesidebar.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section2 Viewing Project Files | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     When the sidebar shows projects, they are displayed in a project tree. The | 
					
						
							|  |  |  |     project tree contains a list of all projects open in the current session. | 
					
						
							|  |  |  |     The files for each project are grouped according to their file type. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     You can use the project tree in the following ways: | 
					
						
							|  |  |  |     \list | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o Double-click a file to open it in an editor. | 
					
						
							|  |  |  |         \o Right-click an item in the project tree to bring up a | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            context menu containing the actions most commonly needed. | 
					
						
							|  |  |  |            For example, through the menu of the project root directory you can, | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            build, re-build, clean and run the project. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o To list all files in a project, click | 
					
						
							|  |  |  |            \inlineimage qtcreator-filter.png | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            and select \gui{Simplify Tree}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o During a build, the build system automatically generates source | 
					
						
							|  |  |  |            files. To hide these files, click \inlineimage qtcreator-filter.png | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            and select \gui{Hide Generated Files}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o To toggle the synchronization of your project tree with the file | 
					
						
							|  |  |  |            opened in the editor, click | 
					
						
							|  |  |  |            \inlineimage qtcreator-synchronizefocus.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |         \o To see the absolute path of a file, move the mouse pointer over the | 
					
						
							|  |  |  |            file name. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Viewing Output | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The task pane in Qt Creator can display one of the following panes: | 
					
						
							| 
									
										
										
										
											2008-12-11 11:20:25 +01:00
										 |  |  |     \gui{Build Issues}, \gui{Search Results}, \gui{Application Output}, and | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \gui{Compile Output}. Output panes are available in all | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \l{Qt Creator Modes}{modes}. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-11 11:20:25 +01:00
										 |  |  |     \section2 Build Issues | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The \gui{Build Issues} pane provides a list of errors and warnings | 
					
						
							|  |  |  |     encoutered during a build. The pane filters out irrelevant output from | 
					
						
							|  |  |  |     the build tools and presents the issues in an organized way. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-11 11:20:25 +01:00
										 |  |  |     \image qtcreator-build-issues.png | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \section2 Search Results | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The \gui{Search Results} pane displays the results for global searches | 
					
						
							|  |  |  |     such as searching within a current document, files on disk, or all | 
					
						
							|  |  |  |     projects. The figure below shows an example output of search result for all | 
					
						
							|  |  |  |     occurrences of \c textfinder within the \c "/TextFinder" directory. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-search-pane.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \section2 Application Output | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     The \gui{Application Output} pane displays the status of a program when | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     it is executed, and the debug output. The figure below shows an example | 
					
						
							|  |  |  |     output from qDebug(). | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-application-output.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section2 Compile Output | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     The \gui{Compile Output} pane provides all output from the compiler. In | 
					
						
							|  |  |  |     other words, it is a more detailed version of information displayed in the | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \gui{Build Issues} pane. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-compile-pane.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-12 16:29:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Getting Help | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     Qt Creator comes fully integrated with Qt documentation and | 
					
						
							|  |  |  |     examples using the Qt Help plugin. You can get help in the following | 
					
						
							|  |  |  |     ways: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \list | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \o To view documentation, switch to \gui Help mode. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \o To get context sensitive help, move the text cursor to a Qt class or | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     function and press \key F1. The documentation is displayed in a pane | 
					
						
							|  |  |  |     next to the code editor, or, if there is not enough vertical space, in the | 
					
						
							|  |  |  |     fullscreen \gui Help mode. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \image qtcreator-context-sensitive-help.png | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To select and configure how the documentation is displayed in the | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \gui Help mode, select \gui Tools > \gui Options > \gui Help. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section2 Adding External Documentation | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     You can display external documentation in the Qt Creator \gui Help mode. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To augument or replace the documentation that ships with Qt Creator and Qt: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Create a .qch file from your documentation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            For information on how to prepare your documentation and create a | 
					
						
							|  |  |  |            .qch file, see | 
					
						
							| 
									
										
										
										
											2010-03-12 18:33:46 +01:00
										 |  |  |            \l{http://doc.qt.nokia.com/4.6/qthelp-framework.html}{The Qt Help Framework}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o Add the .qch file to Qt Creator by selecting \gui Tools > | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            \gui Options > \gui Help > \gui Documentation > \gui Add. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Navigating with Keyboard | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-12 20:11:04 +01:00
										 |  |  |     Qt Creator caters not only to developers who are used to using the mouse, | 
					
						
							|  |  |  |     but also to developers who are more comfortable with the keyboard. A wide | 
					
						
							|  |  |  |     range of \l{keyboard-shortcuts}{keyboard} and | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \l{Searching With the Locator}{navigation} shortcuts are available to help | 
					
						
							|  |  |  |     speed up the process of developing your application. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Developing Application UI | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To help you design the user interface of your application, two visual | 
					
						
							|  |  |  |     editors are integrated into Qt Creator: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |     \o \QD | 
					
						
							|  |  |  |     \o \QMLD | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     The integration includes project management and code completion. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Using Qt Designer | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     Qt Creator automatically opens all .ui files in \QD. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-formedit.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     To change the layout of \QD user interface elements: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list 1 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o Select \gui Tools > \gui{Form Editor} > \gui Views > | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            \gui Locked. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            When this option is unchecked, you can change the layout. | 
					
						
							|  |  |  |         \o Click the header of an element and drag the element to a new | 
					
						
							|  |  |  |            position. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     To change \QD properties, select \gui Tools > \gui Options > | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \gui Designer. | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o Set the class properties and code generation preferences in \gui | 
					
						
							|  |  |  |            {Class Generation}. | 
					
						
							|  |  |  |         \o Set an additional folder for saving templates in \gui{Template | 
					
						
							|  |  |  |            Paths}. | 
					
						
							|  |  |  |         \o Set the grid settings and preview preferences in \gui Forms. To | 
					
						
							|  |  |  |            preview your form with skins, enable \gui{Print/Preview | 
					
						
							|  |  |  |            Configuration} and select your skin. Otherwise default preview | 
					
						
							|  |  |  |            settings are used. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            To preview the settings, select \gui Tools > \gui{Form Editor} > | 
					
						
							|  |  |  |            \gui Preview, or press \key Ctrl+Alt+R. | 
					
						
							|  |  |  |         \o To specify embedded device profiles, such as style, font, and screen | 
					
						
							|  |  |  |            resolution, select \gui{Embedded Design}. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     For more information on \QD, see | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \l{http://doc.trolltech.com/designer-manual.html}{Qt Designer Manual}. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \section1 Using Quick Designer | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     You can edit .qml files in either the visual \QMLD editor or in the | 
					
						
							|  |  |  |     code editor. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     In \gui Projects, double-click a .qml file to open it in the code | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     editor. Then select the \gui {Design} mode to edit the file in the | 
					
						
							|  |  |  |     visual editor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qmldesigner-visual-editor.png "Visual editor" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Use the visual editor panes to manage your project: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \o \gui {Navigator} pane displays the items in the scene. You can | 
					
						
							|  |  |  |     show and hide items to focus on specific parts of the application. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o \gui {Library} pane displays lists of predefined \gui {Items} and | 
					
						
							|  |  |  |     imported \gui {Resources} that you can use to design applications. The | 
					
						
							|  |  |  |     images and other files that you copy to the project folder appear in the | 
					
						
							|  |  |  |     \gui {Resources} pane. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \o \gui {Properties} pane displays the properties of the selected component. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      You can also change the properties in the code editor. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \o \gui {State} pane displays the different states of the component. To add | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     states, click the empty slot. Then modify the new state in the editor. | 
					
						
							|  |  |  |     In the code editor, you can see the changes recorded as changes to | 
					
						
							|  |  |  |     the base state. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \previouspage creator-qml-application.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \page creator-editor-using.html | 
					
						
							|  |  |  |     \nextpage creator-editor-finding.html | 
					
						
							| 
									
										
										
										
											2009-01-14 16:02:50 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Using the Editor | 
					
						
							| 
									
										
										
										
											2009-01-14 16:02:50 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Qt Creator's code editor is designed to aid you in creating, editing and | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     navigating code.  Qt Creator's code editor is fully equipped with syntax | 
					
						
							|  |  |  |     checking, code completion, context sensitive help and in-line error | 
					
						
							|  |  |  |     indicators while you are typing. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Configuring the Editor | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator allows you to configure the text editor to suit your specific | 
					
						
							|  |  |  |     needs. To configure the editor, select  \gui Tools > \gui Options > | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \gui{Text Editor} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     You can perform the following configuration actions: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list | 
					
						
							|  |  |  |         \o Set the font preferences and apply syntax highlighting in | 
					
						
							|  |  |  |            \gui{Font & Colors}. | 
					
						
							|  |  |  |         \o Set tabs, indentation and the handling of whitespace in | 
					
						
							|  |  |  |            \gui Behavior. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o Set various display properties, for example, | 
					
						
							|  |  |  |            \l{Highlighting and folding blocks}{highlighting and folding blocks}, | 
					
						
							|  |  |  |            text wrapping or \l{Moving to symbol definition or declaration} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            {moving to symbol definition or declaration} | 
					
						
							|  |  |  |            in \gui Display. | 
					
						
							| 
									
										
										
										
											2010-03-12 18:33:46 +01:00
										 |  |  |         \o Configure \l{Code Completion}{code completion} in \gui Completion. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Using the Editor Toolbar | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The editor toolbar is located at the top of the editor view. The editor | 
					
						
							|  |  |  |     toolbar is context sensitive and shows items relevant to the file currently | 
					
						
							|  |  |  |     open in the editor. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-editortoolbar-symbols.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Use the toolbar to navigate between open files and symbols in use: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To browse the history of edits for the currently open session, click | 
					
						
							|  |  |  |            \inlineimage qtcreator-back.png | 
					
						
							|  |  |  |            and \inlineimage qtcreator-forward.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |         \o To go to any open file, select it from the \gui{Open files} | 
					
						
							|  |  |  |            drop-down menu. | 
					
						
							|  |  |  |         \o To jump to any symbol used in the current file, select it from the | 
					
						
							|  |  |  |            \gui Symbols drop-down menu. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     When you create or edit forms in a \c{.ui} file, the toolbar contains | 
					
						
							|  |  |  |     Qt Designer specific tools. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     If you are using a version control system, the toolbar enables you to | 
					
						
							|  |  |  |     compare the current file with the version in the repository. For more | 
					
						
							|  |  |  |     information on using Qt Creator with version control systems, see | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \l{Using version control systems}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Splitting the Editor View | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Split the editor view when you want to work on and view multiple files on | 
					
						
							|  |  |  |     the same screen. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-spliteditorview.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     You can split the editor view in the following ways: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list | 
					
						
							|  |  |  |         \o To split the editor view into a top and bottom view, select | 
					
						
							|  |  |  |            \gui Window > \gui Split or press \key{Ctrl+E, 2}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            Split command creates views below the currently active editor view. | 
					
						
							|  |  |  |         \o To split the editor view into adjacent views, select | 
					
						
							|  |  |  |            \gui Window > \gui{Split Side by Side} or press | 
					
						
							|  |  |  |            \key{Ctrl+E, 3}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            Side by side split command creates views to the right of the | 
					
						
							|  |  |  |            currently active editor view. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To move between split views, select \gui Window > | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |     \gui{Go to Next Split} or press \key{Ctrl+E, 0}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     To remove a split view, place the cursor within the view you want to | 
					
						
							|  |  |  |     remove and select \gui Window > \gui{Remove Current Split} or press | 
					
						
							|  |  |  |     \key{Ctrl+E, 0}. To remove all but the currently selected split view, | 
					
						
							|  |  |  |     select \gui Window > \gui{Remove All Splits} or press \key{Ctrl+E, 1}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Highlighting and Folding Blocks | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Use block highlighting to visually separate parts of the code that belong | 
					
						
							|  |  |  |     together. For example, when you place the cursor within the braces, | 
					
						
							|  |  |  |     the code enclosed in braces is highlighted. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-blockhighlighting.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To enable block highlighting, select \gui Tools > \gui Options > | 
					
						
							|  |  |  |     \gui{Text Editor} > \gui Display > \gui{Highlight blocks}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Use the folding markers to collapse and expand blocks of code within | 
					
						
							|  |  |  |     braces. Click the folding marker to collapse or expand a block. In the | 
					
						
							|  |  |  |     figure above, the folding markers are located between the line number and | 
					
						
							|  |  |  |     the text pane. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To show the folding markers, select \gui Tools > \gui Options > | 
					
						
							|  |  |  |     \gui{Text Editor} > \gui Display > \gui{Display folding markers}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Syntax Checking | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     As you write code Qt Creator checks code syntax. When Qt Creator spots a | 
					
						
							|  |  |  |     syntax error in your code it underlines it and shows error details when you | 
					
						
							|  |  |  |     move the mouse pointer over the error. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list | 
					
						
							|  |  |  |         \o Syntax errors are underlined in red. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            In the following figure, semicolon is missing at the end of line. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-syntaxerror.png | 
					
						
							|  |  |  |         \o Semantic errors and warnings are underlined in olive. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            In the following figure, the type is unknown. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-semanticerror.png | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-01-14 16:02:50 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-27 15:06:36 +02:00
										 |  |  |     \section1 Code Completion | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     As you write code, Qt Creator provides a list of context-sensitive | 
					
						
							|  |  |  |     suggestions to the statement currently under your cursor. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-codecompletion.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Set code completion preferences in \gui Tools > \gui Options > | 
					
						
							|  |  |  |     \gui{Text Editor} > \gui Completion. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-12 16:10:22 +01:00
										 |  |  |     When completion is invoked manually, Qt Creator completes the common prefix | 
					
						
							|  |  |  |     of the list of suggestions. This is especially useful for classes with | 
					
						
							|  |  |  |     several similarly named members. To disable this functionality, uncheck | 
					
						
							|  |  |  |     \gui{Autocomplete common prefix} in the code completion preferences. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     The following table lists available types for code completion and icon | 
					
						
							|  |  |  |     used for each. | 
					
						
							| 
									
										
										
										
											2009-04-27 15:06:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \header | 
					
						
							|  |  |  |             \o Icon | 
					
						
							|  |  |  |             \o Description | 
					
						
							| 
									
										
										
										
											2009-04-27 15:06:36 +02:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/class.png | 
					
						
							|  |  |  |             \i  A class | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/enum.png | 
					
						
							|  |  |  |             \i  An enum | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/enumerator.png | 
					
						
							|  |  |  |             \i  An enumerator (value of an enum) | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/func.png | 
					
						
							|  |  |  |             \i  A function | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/func_priv.png | 
					
						
							|  |  |  |             \i  A private function | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/func_prot.png | 
					
						
							|  |  |  |             \i  A protected function | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/var.png | 
					
						
							|  |  |  |             \i  A variable | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/var_priv.png | 
					
						
							|  |  |  |             \i  A private variable | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/var_prot.png | 
					
						
							|  |  |  |             \i  A protected variable | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/signal.png | 
					
						
							|  |  |  |             \i  A signal | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/slot.png | 
					
						
							|  |  |  |             \i  A slot | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/slot_priv.png | 
					
						
							|  |  |  |             \i  A private slot | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/slot_prot.png | 
					
						
							|  |  |  |             \i  A protected slot | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/keyword.png | 
					
						
							|  |  |  |             \i  A keyword | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/macro.png | 
					
						
							|  |  |  |             \i  A macro | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \inlineimage completion/namespace.png | 
					
						
							|  |  |  |             \i  A namespace | 
					
						
							|  |  |  |     \endtable | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Moving to Symbol Definition or Declaration | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     In Qt Creator you can move directly to the definition or the declaration of | 
					
						
							|  |  |  |     a symbol by holding the \key Ctrl and clicking the symbol. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     To enable this moving function, in \gui Tools > \gui Options > | 
					
						
							| 
									
										
										
										
											2010-03-12 16:10:22 +01:00
										 |  |  |     \gui{Text Editor} > \gui Behavior select \gui{Enable mouse navigation}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Using an External Editor | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To open the file you are currently viewing in an external editor, select | 
					
						
							|  |  |  |     \gui Edit > \gui Advanced > \gui{Open in External Editor}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To use the external editor of your choice: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o On Windows add the editor path to the \bold Path system variable. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            On Linux and Mac OS X add the editor path to the \c{PATH} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            environment variable. | 
					
						
							|  |  |  |         \o In Qt Creator select \gui Tools > \gui Options... > | 
					
						
							|  |  |  |            \gui Environment > \gui General. | 
					
						
							|  |  |  |         \o In \gui{External editor} enter the name of the application followed | 
					
						
							|  |  |  |            by \key Space and \tt{\bold %f}. For example, to open the file in | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            Smultron, enter \tt{\bold{smultron %f}}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |            To further define how to open the file in the external editor, you | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            can use the following variables separated by a space: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            \list | 
					
						
							|  |  |  |             \o Current line number \tt{\bold %l} | 
					
						
							|  |  |  |             \o Current column number \tt{\bold %c} | 
					
						
							|  |  |  |             \o Editor's x position on the screen \tt{\bold %x} | 
					
						
							|  |  |  |             \o Editor's y position on the screen \tt{\bold %y} | 
					
						
							|  |  |  |             \o Editor's width in pixels \tt{\bold %w} | 
					
						
							|  |  |  |             \o Editor's height in pixels \tt{\bold %h} | 
					
						
							|  |  |  |             \o Editor's width in characters \tt{\bold %W} | 
					
						
							|  |  |  |             \o Editor's height in characters \tt{\bold %H} | 
					
						
							|  |  |  |             \o To pass % symbol to the editor \tt{\bold %%} | 
					
						
							|  |  |  |            \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \note Not all variables work with all editors. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-01-14 16:02:50 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-editor-using.html | 
					
						
							|  |  |  |     \page creator-editor-finding.html | 
					
						
							|  |  |  |     \nextpage creator-editor-refactoring.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Finding and Replacing | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To search through the currently open file: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Press \key Ctrl+F or select \gui Edit > \gui Find/Replace > | 
					
						
							|  |  |  |            \gui{Current Document}. | 
					
						
							|  |  |  |         \o Enter the text you are looking for. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            If the text is found, all occurrences are highlighted as you type. | 
					
						
							|  |  |  |         \o To go to the next occurrence, click \inlineimage qtcreator-next.png | 
					
						
							|  |  |  |            , or press \key F3. To go to the previous occurrence click | 
					
						
							|  |  |  |            \inlineimage qtcreator-previous.png | 
					
						
							|  |  |  |            , or press \key Shift+F3. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To narrow your search results, click | 
					
						
							|  |  |  |     \inlineimage qtcreator-locator-magnify.png | 
					
						
							|  |  |  |     in the \gui Find/Replace pane and select any of the following | 
					
						
							|  |  |  |     preferences: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To make your search case sensitive, select | 
					
						
							|  |  |  |            \inlineimage qtcreator-editor-casesensitive.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |         \o To search only whole words, select | 
					
						
							|  |  |  |            \inlineimage qtcreator-editor-wholewords.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |         \o To search using regular expressions, select | 
					
						
							|  |  |  |            \inlineimage qtcreator-editor-regularexpressions.png | 
					
						
							|  |  |  |            . | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            Regular expressions used in Qt Creator are modeled on Perl regular | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            expressions. For more information on using regular expressions, see | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            \l {http://doc.qt.nokia.com/4.6/qregexp.html#details} | 
					
						
							|  |  |  |            {Detailed Description} in the QRegExp Class Reference. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \note If you have selected text before selecting \gui Find/Replace, the | 
					
						
							|  |  |  |     search is conducted within the selection. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To replace occurrences of the existing text, enter the new text in the | 
					
						
							|  |  |  |     \gui{Replace with} text box. | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To replace the selected occurrence and move to the next one, | 
					
						
							|  |  |  |            click \inlineimage qtcreator-next.png | 
					
						
							|  |  |  |            or press \key Ctrl+=. | 
					
						
							|  |  |  |         \o To replace the selected occurrence and move to the previous one, | 
					
						
							|  |  |  |            click \inlineimage qtcreator-previous.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |         \o To replace all occurrences in the file, click \gui{Replace All}. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Advanced Search | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To search through projects, files on a file system or the currently open | 
					
						
							|  |  |  |     file: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Press \key Ctrl+Shift+F or select \gui Edit > | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |            \gui Find/Replace > \gui{Advanced Find} > | 
					
						
							|  |  |  |            \gui{Open Advanced Find...}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o Select the scope of your search: | 
					
						
							|  |  |  |            \list | 
					
						
							|  |  |  |             \o \gui{All Projects} searches files matching the defined file | 
					
						
							|  |  |  |                pattern in all currently open projects. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                For example, to search for \tt previewer only in \tt .cpp | 
					
						
							|  |  |  |                and \tt .h files, enter in \gui{File pattern} | 
					
						
							|  |  |  |                \tt *.cpp,*.h. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                \image qtcreator-search-allprojects.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \o \gui{Current Project} searches files matching the defined file | 
					
						
							|  |  |  |                pattern only in the project you are currently editing. | 
					
						
							|  |  |  |             \o \gui{Files on File System} recursively searches files matching | 
					
						
							|  |  |  |                the defined file pattern in the selected directory. | 
					
						
							|  |  |  |             \o \gui{Current File} searches only the current file. | 
					
						
							|  |  |  |            \endlist | 
					
						
							|  |  |  |         \o Enter the text you are looking for and click \gui Search. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-searchresults.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            A list of files containing the searched text is displayed in the | 
					
						
							|  |  |  |            \gui{Search Results} pane. | 
					
						
							|  |  |  |            \list | 
					
						
							|  |  |  |             \o To see all occurrences in a file, double-click the file name in | 
					
						
							|  |  |  |                the list. | 
					
						
							|  |  |  |             \o To go to an occurrence, double-click it. | 
					
						
							|  |  |  |            \endlist | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-editor-finding.html | 
					
						
							|  |  |  |     \page creator-editor-refactoring.html | 
					
						
							|  |  |  |     \nextpage creator-editor-locator.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Refactoring | 
					
						
							| 
									
										
										
										
											2009-11-02 14:16:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Code refactoring is the process of changing the code without modifying the | 
					
						
							|  |  |  |     existing functionality of your application. By refactoring your code you | 
					
						
							|  |  |  |     can: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o Improve internal quality of your application | 
					
						
							|  |  |  |         \o Improve performance and extensibility | 
					
						
							|  |  |  |         \o Improve code readability and maintainability | 
					
						
							|  |  |  |         \o Simplify code structure | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Finding Symbols | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To find the use of a specific symbol in your project: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o In the editor place the cursor on the symbol and select \gui Tools | 
					
						
							|  |  |  |            > \gui C++ > \gui{Rename Symbol under Cursor} or press | 
					
						
							|  |  |  |            \key Ctrl+Shift+U. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            Qt Creator looks for the symbol in the following locations: | 
					
						
							|  |  |  |            \list | 
					
						
							|  |  |  |             \o Files listed as a part of the project | 
					
						
							|  |  |  |             \o Files directly used by the project files (for example, generated | 
					
						
							|  |  |  |                files) | 
					
						
							|  |  |  |             \o Header files of used frameworks and libraries | 
					
						
							|  |  |  |            \endlist | 
					
						
							|  |  |  |         \o The \gui{Search Results} pane opens and shows the location and | 
					
						
							|  |  |  |            number of instances of the symbol in the current project. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-refactoring-find.png | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     You can browse the search results in the following ways: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To go directly to an instance, double-click the instance in the | 
					
						
							|  |  |  |            \gui{Search Results} pane. | 
					
						
							|  |  |  |         \o To move between instances, click | 
					
						
							|  |  |  |            \inlineimage qtcreator-forward.png | 
					
						
							|  |  |  |            and | 
					
						
							|  |  |  |            \inlineimage qtcreator-back.png | 
					
						
							|  |  |  |            in the \gui{Search Results} pane. | 
					
						
							|  |  |  |         \o To expand and collapse the list of all instances, click | 
					
						
							|  |  |  |            \inlineimage qtcreator-expand.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |         \o To clear the search results, click \inlineimage qtcreator-clear.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-01-16 17:36:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Renaming Symbols | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To rename a specific symbol in your project: | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \list 1 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o In the editor, place the cursor on the symbol you would like to | 
					
						
							|  |  |  |            change and select \gui Tools > \gui C++ > | 
					
						
							|  |  |  |            \gui{Rename Symbol under Cursor} or press \key Ctrl+Shift+R. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            The \gui{Search Results} pane opens and shows the location and | 
					
						
							|  |  |  |            number of instances of the symbol in the current project. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-refactoring-replace.png | 
					
						
							|  |  |  |         \o To replace all selected instances, enter the name of the new symbol | 
					
						
							|  |  |  |            in the \gui{Replace with} text box and click \gui Replace. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            To omit an instance, uncheck the check-box next to the instance. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \note This action replaces all selected instances of the symbol in | 
					
						
							|  |  |  |            all files listed in the \gui{Search Results} pane. You cannot | 
					
						
							|  |  |  |            undo this action. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-01-14 16:02:50 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \note Renaming local symbols does not open the \gui{Search Results} pane. | 
					
						
							|  |  |  |     The instances of the symbol are highlighted in code and you can edit the | 
					
						
							|  |  |  |     symbol. All instances of the local symbol are changed as you type. | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-14 16:02:50 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-editor-locator.html | 
					
						
							|  |  |  |     \page creator-project-managing.html | 
					
						
							|  |  |  |     \nextpage creator-project-creating.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \title Managing Projects | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Qt Creator allows you to deploy various types of projects and provides a | 
					
						
							|  |  |  |     platform to work on different types of projects: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |        \o To work with \bold{qmake projects}, open a \c .pro file. For more | 
					
						
							|  |  |  |           information, see \l{Setting Up a qmake Project}. | 
					
						
							|  |  |  |        \o To work with \bold{CMake projects} you need to have CMake version | 
					
						
							|  |  |  |           2.8.0 or later installed. For more information, see | 
					
						
							|  |  |  |           \l{Setting Up a CMake Project}. | 
					
						
							|  |  |  |        \o Qt Creator supports generic projects. For more information, see | 
					
						
							|  |  |  |           \l{Setting Up a Generic Project}. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 External Libraries | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Through external libraries Qt Creator can support code completion and | 
					
						
							|  |  |  |     syntax highlighting for external libraries as if they were a part of the | 
					
						
							|  |  |  |     current project or the Qt library. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The procedure of adding a library to a project depends on the type of | 
					
						
							|  |  |  |     project, which influences the build system used. | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list | 
					
						
							|  |  |  |        \o For information on adding external libraries to qmake projects, see | 
					
						
							|  |  |  |           \l{Adding External Libraries to a qmake Project}. | 
					
						
							|  |  |  |        \o For information on adding external libraries to CMake projects, see | 
					
						
							|  |  |  |           \l{Adding External Libraries to a CMake Project}. | 
					
						
							|  |  |  |        \o For information on adding external libraries to generic projects, see | 
					
						
							|  |  |  |           \l{Adding External Libraries to a Generic Project}. | 
					
						
							|  |  |  |    \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Session Management | 
					
						
							|  |  |  |     In Qt Creator a session is a collection of bookmarks, breakpoints and | 
					
						
							|  |  |  |     watchers and can include multiple open projects. To learn about using and | 
					
						
							|  |  |  |     managing sessions, see \l{Managing Sessions}. | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-project-managing.html | 
					
						
							|  |  |  |     \page creator-project-creating.html | 
					
						
							|  |  |  |     \nextpage creator-project-qmake.html | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Creating a Project | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To create a new project: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o Select \gui File > \gui{New File or Project} and select the type of your | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            project. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            The contents of the following dialogs depend on the project type. | 
					
						
							|  |  |  |            This example uses \gui {Qt Gui Application}. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            \image qtcreator-new-project.png | 
					
						
							|  |  |  |         \o Name the project and set its path. To select the path from a | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            directory tree, click \gui Browse. | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            Avoid using spaces and special characters in the project name and | 
					
						
							|  |  |  |            path. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-intro-and-location.png | 
					
						
							|  |  |  |         \o Specify the name of the class you want to create and using the | 
					
						
							|  |  |  |            drop-down menu select its base class type. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            Note that the \gui{Header file}, \gui{Source file} and | 
					
						
							|  |  |  |            \gui{Form file} fields are automatically updated as you name your | 
					
						
							|  |  |  |            class. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-class-info.png | 
					
						
							|  |  |  |         \o Review the project settings. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |            To create the project, click \gui Finish. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-new-project-summary.png | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 14:29:59 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-project-creating.html | 
					
						
							|  |  |  |     \page creator-project-qmake.html | 
					
						
							|  |  |  |     \nextpage creator-project-cmake.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Setting Up a qmake Project | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Selecting the Qt Version | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator allows you to have multiple versions of Qt installed on | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     your computer and use different versions for each of your projects. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     If Qt Creator finds \bold qmake in the \c{PATH} environment variable, it uses | 
					
						
							|  |  |  |     that version. The \l{glossary-system-qt}{ qmake version of Qt} is referred | 
					
						
							|  |  |  |     to as \bold{Qt in PATH}. If you intend to use only one version of Qt and it | 
					
						
							|  |  |  |     is already in the \c{PATH} and correctly set up for command line use, you do | 
					
						
							|  |  |  |     not need to manually configure your Qt version. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \note By default, Qt Creator compiles projects with the | 
					
						
							|  |  |  |     \l{glossary-default-qt}{default Qt version}. For information on how to | 
					
						
							|  |  |  |     override this setting, see \l{Build Settings}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Windows | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To add a Qt version for \bold MinGW: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui Tools > \gui Options... > \gui Qt4 > | 
					
						
							|  |  |  |            \gui{Qt Versions}. | 
					
						
							|  |  |  |         \o Click \inlineimage qtcreator-windows-add.png | 
					
						
							|  |  |  |            and enter the name of the version in \gui{Version Name} field. | 
					
						
							|  |  |  |         \o Enter the qmake binary path in the \gui{qmake Location}. | 
					
						
							|  |  |  |         \o Enter the MinGW installation path in the \gui{MinGW Directory}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-qt4-qtversions-win-mingw.png | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To add a Qt version for a \bold{Microsoft Visual C++} compiler: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui Tools > \gui Options... > \gui Qt4 > | 
					
						
							|  |  |  |            \gui{Qt Versions}. | 
					
						
							|  |  |  |         \o Qt Creator automatically sets the correct environment variables for | 
					
						
							|  |  |  |            compilation. Select the internal version number of the installed | 
					
						
							|  |  |  |            Microsoft Visual C++ tool chains using the \gui MSVC drop-down | 
					
						
							|  |  |  |            box: | 
					
						
							|  |  |  |            \list | 
					
						
							|  |  |  |                \o \bold 7.1 for Visual Studio 2003 | 
					
						
							|  |  |  |                \o \bold 8.0 for Visual Studio 2005 | 
					
						
							|  |  |  |                \o \bold 9.0 for Visual Studio 2008 | 
					
						
							|  |  |  |            \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \note If you are using the | 
					
						
							|  |  |  |            \bold{Windows SDK for Windows Server 2008}, Qt Creator identifies | 
					
						
							|  |  |  |            it as version 9.0. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-qt4-qtversions-win-msvc.png | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     If you are using \bold{Qt for Symbian} and your S60 SDK is registered | 
					
						
							|  |  |  |     with devices.exe, Qt Creator automatically detects the Qt version. To add a | 
					
						
							|  |  |  |     Qt for Symbian version: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui Tools > \gui Options... > \gui Qt4 > | 
					
						
							|  |  |  |            \gui{Qt Versions}. | 
					
						
							|  |  |  |         \o Select the \gui{S60 SDK} you want the Qt Creator to use. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-qt4-qtversions-win-symbian.png | 
					
						
							|  |  |  |         \o To build an application for your device using GCCE, enter the path | 
					
						
							|  |  |  |            to the \bold{CSL ARM Toolchain} directory in | 
					
						
							|  |  |  |            \gui{CSL\\GCCE Directory}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            You do not need to specify this path if the compiler is included in | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            the \c{PATH} environment variable. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o To build an application for the emulator (WINSCW toolchain), enter | 
					
						
							|  |  |  |            the path to your Carbide C++ installation directory in | 
					
						
							|  |  |  |            \gui{Carbide Directory}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            \note You need to have Carbide C++ version 2.0 or later installed. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section2 Compiling Projects With Linux | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To compile a project in Qt Creator, Linux uses GNU Compiler Collection | 
					
						
							|  |  |  |     (GCC). Intel Compiler Collection (ICC) is supported as a drop-in | 
					
						
							|  |  |  |     replacement for GCC. | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To add a Qt version: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui Tools > \gui Options... > \gui Qt4 > | 
					
						
							|  |  |  |            \gui{Qt Versions}. | 
					
						
							|  |  |  |         \o Click \inlineimage qtcreator-linux-add.png | 
					
						
							|  |  |  |            and enter the name of the version in \gui{Version Name}. | 
					
						
							|  |  |  |         \o Enter the path to the qmake binary in \gui{Path to qmake}. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section2 Compiling Projects With Mac OS X | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     To compile a project in Qt Creator, Mac OS X uses GNU Compiler Collection | 
					
						
							|  |  |  |     (GCC), which is part of Xcode. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To add a Qt version: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui{Qt Creator} > \gui Preferences... > \gui{Qt Versions}. | 
					
						
							|  |  |  |         \o Click \inlineimage qtcreator-macosx-add.png | 
					
						
							|  |  |  |            and enter the name of the version in \gui{Version Name}. | 
					
						
							|  |  |  |         \o Enter the path to the qmake binary in \gui{Path to qmake}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-qt4-qtversions.png | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Setting Up a Project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To view and modify the settings for currently open projects, switch to the | 
					
						
							|  |  |  |     \gui Projects mode by pressing \key Ctrl+4. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-projectpane.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The project pane consists of the following tabs: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list | 
					
						
							|  |  |  |        \o Targets | 
					
						
							|  |  |  |        \o Editor Settings | 
					
						
							|  |  |  |        \o Dependencies | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Use the \gui Build and \gui Run buttons on *Desktop* to switch between | 
					
						
							|  |  |  |     the build and run settings for the active project. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     If you have multiple projects open in Qt Creator, use | 
					
						
							|  |  |  |     \gui{Select a Project} option at the top to navigate between different | 
					
						
							|  |  |  |     project edits. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Build Settings | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Different build configurations allow you to quickly switch between | 
					
						
							|  |  |  |     different build settings. By default, Qt Creator creates \bold debug | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     and \bold release build configurations. The \bold{debug} and \bold{release} | 
					
						
							|  |  |  |     build configurations both use the | 
					
						
							|  |  |  |     \l{glossary-default-qt}{default Qt version}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-ppbuildsettings.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Adding and Removing Build Configurations | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To add a new build configuration, click \gui Add and select the type of | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     configuration you would like to add. You can add as many build | 
					
						
							|  |  |  |     configurations as you need. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     To delete the build configuration currently selected, click \gui Remove. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Editing Build Configurations | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To edit a build configuration: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select the build configuration you want to edit in | 
					
						
							|  |  |  |            \gui{Edit Build Configuration}. | 
					
						
							|  |  |  |         \o In section \gui General, you can specify: | 
					
						
							| 
									
										
										
										
											2008-12-16 08:53:01 +01:00
										 |  |  |         \list | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o The \l{glossary-project-qt}{Qt version} you want to use to | 
					
						
							|  |  |  |                build your project. For more information, see | 
					
						
							|  |  |  |                \l{Selecting the Qt version}. | 
					
						
							|  |  |  |             \o The toolchain required to build the project. | 
					
						
							|  |  |  |             \o If you want to \l{glossary-shadow-build}{shadow build} your | 
					
						
							|  |  |  |                project, check the \gui{Shadow Build} checkbox and select the | 
					
						
							|  |  |  |                build directory. | 
					
						
							| 
									
										
										
										
											2008-12-16 08:53:01 +01:00
										 |  |  |         \endlist | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section2 Build Steps | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The build system of Qt Creator is built on qmake and make. In | 
					
						
							|  |  |  |     \gui{Build Steps} you can change the settings for qmake and make. Qt | 
					
						
							|  |  |  |     Creator runs the make command using the Qt version defined for the current | 
					
						
							|  |  |  |     build configuration. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section2 Clean Steps | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     You can use the cleaning process to remove intermediate files. This process | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     might help you to fix obscure issues during the process of building a | 
					
						
							|  |  |  |     project. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     You can define the cleaning steps for your builds in the \gui{Clean Steps}: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To add a clean step using make or a custom process, click | 
					
						
							|  |  |  |            \gui{Add clean step} and select the type of step you want to add. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            By default, custom steps are disabled. Activate custom steps by | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            checking the \gui{Enable Custom Process Step} check-box. | 
					
						
							|  |  |  |         \o To remove a clean step, click \gui{Remove clean step} and select the | 
					
						
							|  |  |  |            step you want to remove. | 
					
						
							|  |  |  |         \o To change the order of steps, click | 
					
						
							|  |  |  |            \inlineimage qtcreator-movestep.png | 
					
						
							|  |  |  |            . | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section2 Build Environment | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     You can specify the environment you want to use for building in the | 
					
						
							|  |  |  |     \bold{Build Environment} section. By default, the environment in which Qt | 
					
						
							|  |  |  |     Creator was started is used and modified to include the Qt version. | 
					
						
							|  |  |  |     Depending on the selected Qt version, Qt Creator automatically sets the | 
					
						
							|  |  |  |     necessary environment variables. You can edit existing environment | 
					
						
							|  |  |  |     variables or add, reset and unset new variables based on your project | 
					
						
							|  |  |  |     requirements. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Run Settings | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Qt Creator automatically creates run configurations for your project. | 
					
						
							|  |  |  |     These run configurations derive their executable from the parsed .pro | 
					
						
							|  |  |  |     files. You can also create custom executable run configurations where you | 
					
						
							|  |  |  |     can set the executable to be run. | 
					
						
							| 
									
										
										
										
											2008-12-16 12:24:03 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \image qtcreator-pprunsettings.png | 
					
						
							| 
									
										
										
										
											2008-12-16 12:24:03 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 File Encoding | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To define the default file encoding, select the desired encoding in the | 
					
						
							|  |  |  |     \gui{Editor Settings}. By default, the Qt Creator uses the file encoding | 
					
						
							|  |  |  |     used by your system. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Dependencies | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     If you have multiple projects loaded in your session, you can define the | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     dependencies between them. Inter-project dependencies affect the build | 
					
						
							|  |  |  |     order of your projects. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \note Inter-project dependencies are unrelated inside a qmake | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     project. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     To define the dependencies between projects: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select the project for which you want to configure dependencies. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o Check the checkboxes in the Dependencies section to select other | 
					
						
							|  |  |  |            projects as dependencies. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Adding External Libraries to a qmake Project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Through external libraries Qt Creator can support code completion and | 
					
						
							|  |  |  |     syntax highlighting as if they were part of the current project or the Qt | 
					
						
							|  |  |  |     library. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To add an external library: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o Open your project file (.pro) using the \gui Projects pane. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o Follow the instructions at \l{http://doc.trolltech.com/latest/qmake-project-files.html#declaring-other-libraries} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            {Declaring other Libraries}. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Syntax completion and highlighting work once your project successfully | 
					
						
							|  |  |  |     builds and links against the external library. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 14:29:59 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-quick-tour.html | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \page creator-getting-started.html | 
					
						
							|  |  |  |     \nextpage creator-writing-program.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \title Getting Started | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     This section contains examples that illustrate how to use Qt Creator and the | 
					
						
							|  |  |  |     integrated design tools, \QD and \QMLD, to create simple applications: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o \l{Writing a Simple Program} | 
					
						
							|  |  |  |         \o \l{Creating an Animated Application} | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-writing-program.html | 
					
						
							|  |  |  |     \page creator-qml-application.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \nextpage creator-editor-using.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \title Creating an Animated Application | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \note This tutorial assumes that you are familiar with the \l {http://qt.nokia.com/doc/4.7-snapshot/declarativeui.html} | 
					
						
							|  |  |  |     {QML declarative language}. | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     This tutorial describes how to use Qt Creator to create a small animated | 
					
						
							|  |  |  |     Qt application, Hello World. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qmldesigner-helloworld.png "Hello World" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Creating the Hello World Project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \note Create the project with the \gui{Help} mode active so that you can follow | 
					
						
							|  |  |  |     these instructions while you work. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 10:50:20 +01:00
										 |  |  |         \o Select \gui{File > New File or Project > Qt Quick Project > QML Application > OK}. | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \image qmldesigner-new-project.png "New File or Project dialog" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         The \gui{Introduction and Project Location} dialog opens. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \image qmldesigner-new-project-location.png "Introduction and Project Location dialog" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui{Name} field, type \bold {Hello World}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui {Create in} field, enter the path for the project files. For example, | 
					
						
							|  |  |  |         \c {C:\Qt\examples}, and then click \gui{Next}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         The \gui{Project Management} dialog opens. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \image qmldesigner-new-project-summary.png "Project Management dialog" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Review the project settings, and click \gui{Finish} to create the project. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The HelloWorld project now contains the following files: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o HelloWorld.qmlproject | 
					
						
							|  |  |  |         \o HelloWorld.qml | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qmldesigner-new-project-contents.png "HelloWorld project contents" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The .qmlproject file defines that all QML, JavaScript, and image files in | 
					
						
							|  |  |  |     the project folder belong to the project. The .qml file contains some example | 
					
						
							|  |  |  |     code that specifies the screen size (200x200) and a label that contains | 
					
						
							|  |  |  |     the text \bold {Hello World}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Designing the User Interface | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui{Editor} mode, double-click the HelloWorld.qml file in | 
					
						
							|  |  |  |          the \gui{Projects} pane to open it in the code editor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o To set the screen size to that of some Symbian devices in portrait | 
					
						
							|  |  |  |         mode, for example, change the \c height to \bold 240 and \c width to \bold 320. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Click \gui{Design} to design the UI in the visual \QMLD editor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Drag and drop a \gui {Rectangle} from the \gui {Library} pane to the | 
					
						
							|  |  |  |         scene. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |         \image qmldesigner-helloworld-widget-add.png "Add component to Hello World" | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |         \o Edit the \gui {Properties} of the component to turn it into a red ball: | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \list | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \o In the \gui {Advanced} tab, click the color picker to select a red | 
					
						
							|  |  |  |             color. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \o In the \gui {Radius} field, use the slider to set the radius value | 
					
						
							|  |  |  |             to \bold 50. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |             \image qmldesigner-helloworld-widget-edit.png "Edit the component" | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o To create a blue ball, press \key {Ctrl+C} and \key {Ctrl+V} to copy | 
					
						
							|  |  |  |         and paste the red one, and then change its color to blue. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \image qmldesigner-helloworld-base-state.png "Hello World first view" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         The first view of your application is now ready. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \note You can use graphical design tools to create nice images and | 
					
						
							|  |  |  |         copy them to the projects folder to display them in the \gui {Library} | 
					
						
							|  |  |  |         pane in \gui {Resources}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui State pane, click the plus sign to add another view, or \e state | 
					
						
							|  |  |  |         to the application. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Modify the state by dragging and dropping the widgets to switch their | 
					
						
							|  |  |  |         places. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \image qmldesigner-helloworld-state1.png "Hello World second view" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Animating the Scene | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Animate the scene so that the widgets appear to switch places | 
					
						
							|  |  |  |     on the screen. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Click \gui {Edit} to open HelloWorld.qml in the code editor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Add the following code to create a transition: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \code | 
					
						
							|  |  |  |             transitions: [ | 
					
						
							|  |  |  |             Transition { | 
					
						
							|  |  |  |                 NumberAnimation { properties: "x, y"; duration: 500 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \note The code editor completes the code for you as you type. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o  Click the \inlineimage qtcreator-run.png | 
					
						
							|  |  |  |         button to check that the application can be built and run. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Adding Interaction | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Add interaction to the scene to allow users to click on the screen to start | 
					
						
							|  |  |  |     the animation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Click \gui{Design} to open HelloWorld.qml in the visual editor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Drag and drop a \gui {Mouse Area} from the \gui {Library} to the scene. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui {Properties} pane, \gui {Anchor} tab, click the | 
					
						
							|  |  |  |         \inlineimage qmldesigner-anchor-fill-screen.png | 
					
						
							|  |  |  |         button to make the mouse region cover the whole screen. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the code editor, use data binding to add a \c when statement to | 
					
						
							|  |  |  |         the states sections, as illustrated by the following code: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \code | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         states: [ | 
					
						
							|  |  |  |             State { | 
					
						
							|  |  |  |                 name: "State1" | 
					
						
							|  |  |  |                 when: mousearea1.pressed | 
					
						
							|  |  |  |         \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Buiding and Running the Application | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Press \key {Ctrl+R} to build and run the application. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Click the screen and keep the mouse button pressed down to run the | 
					
						
							|  |  |  |         animation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \note In the \gui {QML Viewer}, select \gui {Skin} and select a mobile device | 
					
						
							|  |  |  |     type to view the application as on a mobile device. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-getting-started.html | 
					
						
							|  |  |  |     \page creator-writing-program.html | 
					
						
							|  |  |  |     \nextpage creator-qml-application.html | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Writing a Simple Program | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \note This tutorial assumes that you have experience in writing basic Qt | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     applications, using \QD to design user interfaces and using the Qt | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Resource System. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     This tutorial describes how to use Qt Creator | 
					
						
							|  |  |  |     to create a small Qt application, Text Finder. It is a simplified version of the | 
					
						
							|  |  |  |     QtUiTools \l{http://doc.trolltech.com/uitools-textfinder.html}{Text Finder} | 
					
						
							|  |  |  |     example. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-textfinder-screenshot.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Setting Up Your Environment | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     Qt Creator automatically detects whether the location of Qt is in your \c PATH variable. | 
					
						
							|  |  |  |     If you have installed several Qt versions, follow the | 
					
						
							|  |  |  |     instructions in \l{Selecting the Qt version} to set the Qt path. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \section1 Creating the Text Finder Project | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \note Create the project with the \gui{Help} mode active so that you can follow | 
					
						
							|  |  |  |     these instructions while you work. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Select \gui{File > New File or Project > Qt Application Project > Qt Gui | 
					
						
							|  |  |  |         Application > OK}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |            \image qtcreator-new-project.png "New File or Project dialog" | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         The \gui{Introduction and Project Location} dialog opens. | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \image qtcreator-intro-and-location.png "Introduction and Project Location dialog" | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o In the \gui{Name} field, type \bold {TextFinder}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui {Create in} field, enter the path for the project files. For example, | 
					
						
							|  |  |  |         \c {C:\Qt\examples}, and then click \gui{Next}. | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         The \gui{Select Required Qt Versions} dialog opens. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \image qtcreator-new-project-qt-versions.png "Select Required Qt Versions dialog" | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \o Click \gui{Next} to use the Qt version set in the path in your project. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         The \gui{Class Information} dialog opens. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |         \image qtcreator-class-info.png "Class Information dialog" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o In the \gui{Class Name} field, type \bold {TextFinder} as the class name. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o In the \gui{Base Class} list, select \bold {QWidget} as the base class type. | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |            \note The \gui{Header File}, \gui{Source File} and | 
					
						
							|  |  |  |            \gui{Form File} fields are automatically updated to match the name of the | 
					
						
							|  |  |  |            class. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |         \o Click \gui{Next}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         The \gui{Project Management} dialog opens. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |         \image qtcreator-new-project-summary.png "Project Management dialog" | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |         \o Review the project settings, and click \gui{Finish} to create the project. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     The TextFinder project now contains the following files: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o textfinder.h | 
					
						
							|  |  |  |         \o textfinder.cpp | 
					
						
							|  |  |  |         \o main.cpp | 
					
						
							|  |  |  |         \o textfinder.ui | 
					
						
							|  |  |  |         \o textfinder.pro | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \image qtcreator-textfinder-contents.png "TextFinder project contents" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     The .h and .cpp files come with the necessary boiler plate code. | 
					
						
							|  |  |  |     The .pro file is complete. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Filling in the Missing Pieces | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     Begin by designing the user interface and then move on to filling | 
					
						
							|  |  |  |     in the missing code. Finally, add the find functionality. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \section2 Designing the User Interface | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \image qtcreator-textfinder-ui.png "Text Finder UI" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \o In the \gui{Editor} mode, double-click the textfinder.ui file in the \gui{Projects} | 
					
						
							|  |  |  |     view to launch the integrated \QD. | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o Drag and drop the following widgets to the form: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \list | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \o \gui{Label} (\l{http://doc.trolltech.com/qlabel.html}{QLabel}) | 
					
						
							|  |  |  |     \o \gui{Line Edit} (\l{http://doc.trolltech.com/qlineedit.html}{QLineEdit}) | 
					
						
							|  |  |  |     \o \gui{Push Button} (\l{http://doc.trolltech.com/qpushbutton.html}{QPushButton}) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \image qtcreator-textfinder-ui-widgets.png "Adding widgets to Text Finder UI" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \o Double-click the \gui{Label} widget and enter the text \bold{Keyword}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o Double-click the \gui{Push Button} widget and enter the text \bold{Find}. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \o Press \key {Ctrl+A} to select the widgets and click \gui{Lay out Horizontally} | 
					
						
							|  |  |  |     (or press \gui{Ctrl+H}) to apply a horizontal layout | 
					
						
							|  |  |  |     (\l{http://doc.trolltech.com/qhboxlayout.html}{QHBoxLayout}). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-texfinder-ui-horizontal-layout.png "Applying horizontal layout" | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o Drag and drop a \gui{Text Edit} widget (\l{http://doc.trolltech.com/qtextedit.html}{QTextEdit}) | 
					
						
							|  |  |  |     to the form. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \o Select the screen area and click \gui{Lay out Vertically} (or press \gui{Ctr+V}) | 
					
						
							|  |  |  |     to apply a vertical layout (\l{http://doc.trolltech.com/qvboxlayout.html}{QVBoxLayout}). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-textfinder-ui.png "Text Finder UI" | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o Press \gui{Ctrl+S} to save your changes. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     Applying the horizontal and vertical layouts ensures that the application UI scales to different | 
					
						
							|  |  |  |     screen sizes. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     For more information about designing forms with \QD, see the | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \l{http://doc.trolltech.com/designer-manual.html}{Qt Designer Manual}. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \section2 Completing the Header File | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     The textfinder.h file already has the necessary #includes, a | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     constructor, a destructor, and the \c{Ui} object. You need to add a private | 
					
						
							|  |  |  |     slot, \c{on_findButton_clicked()}, to carry out the find operation. You | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     also need a private function, \c{loadTextFile()}, to read and display the | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     contents of the input text file in the | 
					
						
							|  |  |  |     \l{http://doc.trolltech.com/qtextedit.html}{QTextEdit}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o In the \gui{Projects} view, double-click the \c{textfinder.h} file | 
					
						
							|  |  |  |     to open it for editing. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o Add a private slot in a \c{private slots} section and a private function | 
					
						
							|  |  |  |     in the \c{private} section, after the \c{Ui::TextFinder} function, as | 
					
						
							|  |  |  |     illustrated by the following code snippet: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-02 13:33:40 +02:00
										 |  |  |     \snippet examples/textfinder/textfinder.h 0 | 
					
						
							| 
									
										
										
										
											2009-04-02 14:45:39 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \section2 Completing the Source File | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     Now that the header file is complete, move on to the source file, | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |    textfinder.cpp. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \o In the \gui{Projects} view, double-click the textfinder.cpp file | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     to open it for editing. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \o Add code to load a text file using | 
					
						
							| 
									
										
										
										
											2008-12-16 14:08:58 +01:00
										 |  |  |     \l{http://doc.trolltech.com/qfile.html}{QFile}, read it with | 
					
						
							|  |  |  |     \l{http://doc.trolltech.com/qtextstream.html}{QTextStream}, and | 
					
						
							|  |  |  |     then display it on \c{textEdit} with | 
					
						
							| 
									
										
										
										
											2009-03-24 17:19:24 +01:00
										 |  |  |     \l{http://doc.trolltech.com/qtextedit.html#plainText-prop}{setPlainText()} | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     This is illustrated by the following code snippet: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \snippet examples/textfinder/textfinder.cpp 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o To use \l{http://doc.trolltech.com/qfile.html}{QFile} and | 
					
						
							|  |  |  |     \l{http://doc.trolltech.com/qtextstream.html}{QTextStream}, add the | 
					
						
							|  |  |  |     following #includes to textfinder.cpp: | 
					
						
							| 
									
										
										
										
											2009-04-02 13:33:40 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \snippet examples/textfinder/textfinder.cpp 1 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \o For the \c{on_findButton_clicked()} slot, add code to extract the search string and | 
					
						
							| 
									
										
										
										
											2008-12-16 14:08:58 +01:00
										 |  |  |     use the \l{http://doc.trolltech.com/qtextedit.html#find}{find()} function | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     to look for the search string within the text file. This is illustrated by | 
					
						
							|  |  |  |     the following code snippet: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-02 13:33:40 +02:00
										 |  |  |     \snippet examples/textfinder/textfinder.cpp 2 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \o Once both of these functions are complete, add a line to call \c{loadTextFile()} in | 
					
						
							|  |  |  |     the constructor, as illustrated by the following code snippet: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-02 13:33:40 +02:00
										 |  |  |     \snippet examples/textfinder/textfinder.cpp 3 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     The \c{on_findButton_clicked()} slot is called automatically in | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     the uic generated ui_textfinder.h file by this line of code: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \code | 
					
						
							| 
									
										
										
										
											2009-03-24 17:57:43 +01:00
										 |  |  |     QMetaObject::connectSlotsByName(TextFinder); | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     \section2 Creating a Resource File | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     You need a resource file (.qrc) within which you embed the input | 
					
						
							|  |  |  |     text file. The input file can be any .txt file with a paragraph of text. | 
					
						
							|  |  |  |     Create a text file called input.txt and store it in the textfinder | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |     folder. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     To add a resource file: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |         \o Select \gui{File > New File or Project > Qt > Qt Resource File > OK}. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \image qtcreator-add-resource-wizard.png "New File or Project dialog" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     The \gui {Choose the Location} dialog opens. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \image qtcreator-add-resource-wizard2.png "Choose the Location dialog" | 
					
						
							| 
									
										
										
										
											2008-12-16 14:48:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |         \o In the \gui{Name} field, enter \bold{textfinder}. | 
					
						
							|  |  |  |         \o In the \gui{Path} field, enter \c{C:\Qt\examples\TextFinder}, | 
					
						
							|  |  |  |         and click \gui{Next}. | 
					
						
							| 
									
										
										
										
											2008-12-16 14:48:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         The \gui{Project Management} dialog opens. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \image qtcreator-add-resource-wizard3.png "Project Management dialog" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |         \o In the \gui{Add to project} field, select \bold{TextFinder.pro} | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         and click \gui{Finish} to open the file in the code editor. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |         \o Select \gui{Add > Add Prefix}. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |         \o In the \gui{Prefix} field, replace the default prefix with a slash (/). | 
					
						
							|  |  |  |         \o Select \gui{Add > Add Files}, to locate and add input.txt. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \image qtcreator-add-resource.png "Editing resource files" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Compiling and Running Your Program | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     Now that you have all the necessary files, click the \inlineimage qtcreator-run.png | 
					
						
							|  |  |  |     button to compile your program. | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \previouspage creator-debugging.html | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  |     \page creator-version-control.html | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \nextpage adding-plugins.html | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Using Version Control Systems | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Version control systems supported by Qt Creator are: | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  |     \table | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \header | 
					
						
							|  |  |  |             \i \bold{Version Control System} | 
					
						
							|  |  |  |             \i \bold{Address} | 
					
						
							|  |  |  |             \i \bold{Notes} | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \i  \bold{git} | 
					
						
							|  |  |  |             \i  \l{http://git-scm.com/} | 
					
						
							| 
									
										
										
										
											2009-06-08 12:51:29 +02:00
										 |  |  |             \i | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \i  \bold{Subversion} | 
					
						
							|  |  |  |             \i  \l{http://subversion.tigris.org/} | 
					
						
							| 
									
										
										
										
											2009-06-08 12:51:29 +02:00
										 |  |  |             \i | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \i  \bold{Perforce} | 
					
						
							|  |  |  |             \i  \l{http://www.perforce.com} | 
					
						
							| 
									
										
										
										
											2009-06-08 12:51:29 +02:00
										 |  |  |             \i  Server version 2006.1 and later | 
					
						
							| 
									
										
										
										
											2009-10-07 18:25:45 +02:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \i  \bold{CVS} | 
					
						
							|  |  |  |             \i  \l{http://www.cvshome.org} | 
					
						
							|  |  |  |             \i | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Setting Up Version Control Systems | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Qt Creator uses the version control system's command line clients to access | 
					
						
							|  |  |  |     your repositories. To set up the version control system's command line | 
					
						
							|  |  |  |     clients to access your repositories, ensure that the command line clients | 
					
						
							|  |  |  |     can be located using the \c{PATH} environment variable. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     To specify the path to the command line client's executable, go to the | 
					
						
							|  |  |  |     settings pages in \gui{Tools} > \gui{Options...}. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section1 Setting Up Common Options | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Select \gui{Tools} > \gui{Options...} > \gui{Version Control} > \gui{Common} | 
					
						
							|  |  |  |     to view the common settings for version control systems. The following are | 
					
						
							|  |  |  |     the options present in \gui{Common}: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |        \o   \gui{Submit message checking script} is a script or program that | 
					
						
							|  |  |  |              can be used to perform checks on the submit message before | 
					
						
							|  |  |  |              submitting. The submit message is passed in as the script's first | 
					
						
							|  |  |  |              parameter. If there is an error, the script should output a | 
					
						
							|  |  |  |              message on standard error and return a non-zero exit code. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |        \o    \gui{User/alias configuration file} takes a file in mailmap format | 
					
						
							|  |  |  |              that lists user names and aliases. For example: | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |              \code | 
					
						
							|  |  |  |              Jon Doe <Jon.Doe@company.com> | 
					
						
							|  |  |  |              Hans Mustermann <Hans.Mustermann@company.com> hm <info@company.com> | 
					
						
							|  |  |  |              \endcode | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |              \note The second line above specifies the alias \e{hm} and the | 
					
						
							|  |  |  |              corresponding email address for \e{Hans Mustermann}. If the | 
					
						
							|  |  |  |              user/alias configuration file is present, the submit editor | 
					
						
							|  |  |  |              displays a context menu with \gui{Insert name...} that pops up a | 
					
						
							|  |  |  |              dialog letting the user select a name. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |        \o    \gui{User fields configuration file} is a simple text file | 
					
						
							|  |  |  |              consisting of lines specifying submit message fields that take | 
					
						
							|  |  |  |              user names, for example: | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |              \code | 
					
						
							|  |  |  |              Reviewed-by: | 
					
						
							|  |  |  |              Signed-off-by: | 
					
						
							|  |  |  |              \endcode | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The fields above appear below the submit message. They provide completion | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     for the aliases/public user names specified in the | 
					
						
							|  |  |  |     \e{User/alias configuration file} as well as a button that opens the | 
					
						
							|  |  |  |     aforementioned user name dialog. | 
					
						
							| 
									
										
										
										
											2009-01-15 13:07:25 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Using Version Control Systems | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The version control sub-menus are in \gui{Tools} > \gui{Options...} > | 
					
						
							|  |  |  |     \gui{Version Control}. The \gui{Version Control} page also displays the | 
					
						
							|  |  |  |     version control system managing the current project | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Each version control system adds a pane to the \gui{Application Output} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     panes within which it logs the commands it executes, prepended by a | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  |     timestamp and the relevant output. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-vcs-pane.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section2 Addings Files | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     When you create a new file or a new project, the wizard displays a page | 
					
						
							|  |  |  |     asking whether the files should be added to a version control system. | 
					
						
							|  |  |  |     This happens when the parent directory or the project is already | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  |     under version control and the system supports the concept of adding files, | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     for example, \bold{Perforce} and \bold{Subversion}. Alternatively, you can | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     add files later by using the version control tool menus. | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     With \bold{git}, there is no concept of adding files. Instead, all modified | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     files must be staged for a commit. | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Viewing Diff Output | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     All version control systems provide menu options to \e{diff} the current | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     file or project: to compare it with the latest version stored in the | 
					
						
							|  |  |  |     repository and to display the differences. In Qt Creator, a diff is | 
					
						
							|  |  |  |     displayed in a read-only editor. If the file is accessible, you can | 
					
						
							|  |  |  |     double-click on a selected diff chunk and Qt Creator opens an editor | 
					
						
							| 
									
										
										
										
											2009-01-15 13:50:22 +01:00
										 |  |  |     displaying the file, scrolled to the line in question. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-vcs-diff.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  |     \section2 Annotating Files | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Annotation views are obtained by selecting \gui{Annotate} or \gui{Blame}. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Selecting \gui{Annotate} or \gui{Blame} displays the lines of the file | 
					
						
							|  |  |  |     prepended by the change identifier they originate from. Clicking on the | 
					
						
							|  |  |  |     change identifier shows a detailed description of the file. | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To show the annotation of a previous version in the \gui Annotate or | 
					
						
							|  |  |  |     \gui Blame view, right-click on the version in the code. This option | 
					
						
							|  |  |  |     allows you to navigate through the history of the file and obtain the | 
					
						
							|  |  |  |     previous version of the code. This option also works for \gui git/hg | 
					
						
							|  |  |  |     using SHA. | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The file log view for a single file has \gui Annotate in | 
					
						
							|  |  |  |     the context menu of the version mentioned in the log, the user can | 
					
						
							|  |  |  |     right-click a line to open a context menu which contains | 
					
						
							|  |  |  |     \gui{Annotate Previous}. | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To set up a VCS repository for new projects, select \gui File > | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \gui{New File or Project...}. Setting up a VCS repository for new projects | 
					
						
							|  |  |  |     enables you to initialize a repository for VCS that supports \bold{git/hg}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Committing Changes | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Once you have finished making changes, submit them to the version control | 
					
						
							|  |  |  |     system by choosing \gui{Commit} or \gui{Submit}. Qt Creator displays a | 
					
						
							|  |  |  |     commit page containing a text editor where you can enter your commit | 
					
						
							|  |  |  |     message and a checkable list of modified files to be included. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     When you have finished filling out the commit page information, click on | 
					
						
							|  |  |  |     \gui{Commit} to start committing. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The \gui{Diff Selected Files} button brings up a diff view of the | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  |     files selected in the file list. Since the commit page is just another | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     editor, you can go back to it by closing the diff view. You can also check | 
					
						
							|  |  |  |     a diff view from the editor combo box showing the \gui{Opened files}. | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-vcs-commit.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section2 Viewing Versioning History and Change Details | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Display the versioning history of a file by selecting \gui{Log} | 
					
						
							|  |  |  |     (for \bold{git}) or \gui{Filelog}(for \bold{Perforce} and | 
					
						
							|  |  |  |     \bold{Subversion}). Typically, the log output contains the date, the commit | 
					
						
							|  |  |  |     message, and a change or revision identifier. Click on the identifier to | 
					
						
							|  |  |  |     display a description of the change including the diff. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-vcs-log.png | 
					
						
							|  |  |  |     \image qtcreator-vcs-describe.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Using git-specific Menu Entries | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     The git sub-menu contains additional entries: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i  \gui{Stash} | 
					
						
							|  |  |  |             \i  Stash local changes prior to executing a \bold{pull}. | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-01-15 15:57:07 +01:00
										 |  |  |             \i  \gui{Pull} | 
					
						
							|  |  |  |             \i  Pull changes from the remote repository. If there are locally | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                 modified files, you are prompted to stash those changes. | 
					
						
							| 
									
										
										
										
											2009-01-15 15:57:07 +01:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \i  \gui{Branches...} | 
					
						
							|  |  |  |             \i  Displays the branch dialog showing the local branches at the | 
					
						
							|  |  |  |                 top and remote branches at the bottom. To switch to the local | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                 branch, double-click on it. Double-clicking on a remote | 
					
						
							|  |  |  |                 branch first creates a local branch with the same name that | 
					
						
							|  |  |  |                 tracks the remote branch, and then switches to it. | 
					
						
							| 
									
										
										
										
											2009-01-15 15:57:07 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |                 \image qtcreator-vcs-gitbranch.png | 
					
						
							| 
									
										
										
										
											2009-01-15 14:30:18 +01:00
										 |  |  |     \endtable | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-editor-refactoring.html | 
					
						
							|  |  |  |     \page creator-editor-locator.html | 
					
						
							|  |  |  |     \nextpage creator-project-managing.html | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Searching With the Locator | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The locator provides one of the easiest ways in Qt Creator to browse | 
					
						
							|  |  |  |     through projects, files, classes, methods, documentation and file systems. | 
					
						
							|  |  |  |     You can find the locator in the bottom left of the Qt Creator window. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To activate the locator, press \key Ctrl+K (\key Cmd+K on Mac OS | 
					
						
							|  |  |  |     X) or select \gui Tools > \gui Locate.... | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-locator.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To edit the currently open project's main.cpp file using the locator: | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \list 1 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o Activate the locator by pressing \key Ctrl+K. | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |         \o Enter \c{main.cpp}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-locator-open.png | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o Press \key Return. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |            The main.cpp file opens in the editor. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 11:12:38 +01:00
										 |  |  |     It is also possible to enter only a part of a search string. | 
					
						
							|  |  |  |     As you type, the locator shows the occurrences of that string regardless | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     of where in the name of an component it appears. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     To narrow down the search results, you can use the following wildcard | 
					
						
							|  |  |  |     characters: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To match any number of any or no characters, enter \tt \bold{*}. | 
					
						
							|  |  |  |         \o To match a single instance of any character, enter \tt \bold{?}. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Using the Locator Filters | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The \gui Locator allows you to browse not only files, but any items | 
					
						
							|  |  |  |     defined by \bold{locator filters}. By default, the locator contains | 
					
						
							|  |  |  |     filters which locate: | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |     \list | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o  Any open document | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o  Files anywhere on your file systems | 
					
						
							|  |  |  |         \o  Files belonging to your project, such as source, header resource, | 
					
						
							|  |  |  |             and .ui files | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o  Class and method definitions in your project or anywhere referenced | 
					
						
							|  |  |  |             from your project | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o  Help topics, including Qt documentation | 
					
						
							|  |  |  |         \o  Specific line in the document displayed in your editor | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To use a specific locator filter, type the assigned prefix followed by | 
					
						
							|  |  |  |     \key Space. The prefix is usually a single character. | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     For example, to locate symbols matching | 
					
						
							|  |  |  |     \l http://doc.trolltech.com/qdatastream.html}{QDataStream: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Activate the locator. | 
					
						
							|  |  |  |         \o Enter \tt{\bold{: QDataStream}} (: (colon) followed by a | 
					
						
							|  |  |  |            \key Space and the symbol name (QDataStream)). | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            The locator lists the results. | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |            \image qtcreator-navigate-popup.png | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     By default the following filters are enabled and you do not need to use | 
					
						
							|  |  |  |     their prefixes explicitly: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o Going to a line in the current file (l). | 
					
						
							|  |  |  |         \o Going to an open file (o). | 
					
						
							|  |  |  |         \o Going to a file in any open project (a). | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section2 Using the Default Locator Filters | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The following locator filters are available by default: | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							|  |  |  |             \o  Function | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  Enter in locator | 
					
						
							|  |  |  |             \o  Example | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  Go to a line in the current file. | 
					
						
							|  |  |  |             \o  \tt{\bold{l \e{Line number}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-line.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  Go to a symbol definition. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  \tt{\bold{: \e{Symbol name}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-symbols.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  Go to a help topic. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  \tt{\bold{? \e{Help topic}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-help.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  Go to an open file. | 
					
						
							|  |  |  |             \o  \tt{\bold{o \e{File name}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-opendocs.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  Go to a file in the file system (browse the file system). | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  \tt{\bold{f \e{File name}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-filesystem.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  Go to a file in any project currently open. | 
					
						
							|  |  |  |             \o  \tt{\bold{a \e{File name}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-files.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  Go to a file in the current project. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  \tt{\bold{p \e{File name}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-current-project.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  Go to a class definition. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  \tt{\bold{c \e{Class name}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-classes.png | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  Go to a method definition. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o  \tt{\bold{m \e{Method name}}} | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |             \o  \image qtcreator-locator-methods.png | 
					
						
							|  |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section2 Creating Locator Filters | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To quickly access files not directly mentioned in your project, you can | 
					
						
							|  |  |  |     create your own locator filters. That way you can locate files in a | 
					
						
							|  |  |  |     directory structure you have defined. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To create a locator filter: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o In the locator, click \inlineimage qtcreator-locator-magnify.png | 
					
						
							|  |  |  |            and select \gui Configure.... | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            \image qtcreator-locator-customize.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui Options window click \gui Add. | 
					
						
							|  |  |  |         \o In the \gui{Filter Configuration} dialog: | 
					
						
							|  |  |  |         \list | 
					
						
							|  |  |  |             \o Name your filter. | 
					
						
							|  |  |  |             \o Select at least one directory. The locator searches directories | 
					
						
							|  |  |  |                recursively. | 
					
						
							|  |  |  |             \o Define the file pattern as a comma separated list. For example, | 
					
						
							|  |  |  |                to search all .h and .cpp files, enter \tt \bold{*.h,*.cpp} | 
					
						
							|  |  |  |             \o Specify the prefix string. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                To show only results matching this filter, select | 
					
						
							|  |  |  |                \gui{Limit to prefix}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                \image qtcreator-navigate-customfilter.png | 
					
						
							|  |  |  |         \endlist | 
					
						
							|  |  |  |         \o Click OK. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section3 Configuring the Locator Cache | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The locator searches the files matching your file pattern in the | 
					
						
							|  |  |  |     directories you have selected and caches that information. The cache for | 
					
						
							|  |  |  |     all default filters is updated as you write your code. The filters you have | 
					
						
							|  |  |  |     created Qt Creator by default updates once an hour. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To update the cached information manually, click | 
					
						
							|  |  |  |     \inlineimage qtcreator-locator-magnify.png | 
					
						
							|  |  |  |     and select \gui Refresh. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To set a new cache update time: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui Tools > \gui Options... > \gui Locator. | 
					
						
							|  |  |  |         \o In \gui{Refresh interval} define new time in minutes. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-27 15:06:43 +02:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-project-generic.html | 
					
						
							|  |  |  |     \page creator-project-managing-sessions.html | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \nextpage creator-visual-editor.html | 
					
						
							| 
									
										
										
										
											2009-07-27 15:06:43 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Managing Sessions | 
					
						
							| 
									
										
										
										
											2009-07-27 15:06:43 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     In Qt Creator, a session is a collection of: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o Open projects with their dependencies | 
					
						
							|  |  |  |         \o Open editors | 
					
						
							|  |  |  |         \o Breakpoints and watches | 
					
						
							|  |  |  |         \o Bookmarks | 
					
						
							| 
									
										
										
										
											2009-07-27 15:06:43 +02:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     When you launch Qt Creator, a list of existing sessions is displayed on the | 
					
						
							|  |  |  |     \gui{Welcome screen}. | 
					
						
							| 
									
										
										
										
											2009-07-27 15:06:43 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \image qtcreator-welcome-session.png | 
					
						
							| 
									
										
										
										
											2009-08-04 12:56:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To switch between sessions, select the session from sessions listed in | 
					
						
							|  |  |  |     \gui File > \gui Session. If you do not create or select a session, | 
					
						
							|  |  |  |     Qt Creator always uses the default session. | 
					
						
							| 
									
										
										
										
											2009-08-04 12:56:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     To create a new session or remove existing sessions, select \gui File > | 
					
						
							|  |  |  |     \gui Sessions > \gui{Session Manager}. | 
					
						
							| 
									
										
										
										
											2009-08-04 12:56:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \image qtcreator-session-manager.png | 
					
						
							| 
									
										
										
										
											2009-07-27 15:06:43 +02:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-developing-symbian.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \page creator-debugging.html | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \nextpage creator-version-control.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Debugging | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 About Debugging with Qt Creator | 
					
						
							| 
									
										
										
										
											2009-04-08 16:34:42 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Qt Creator does not have its own debugger. Qt Creator provides a graphical | 
					
						
							|  |  |  |     frontend to the following: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							| 
									
										
										
										
											2009-04-08 16:34:42 +02:00
										 |  |  |         \header | 
					
						
							|  |  |  |             \o Platform | 
					
						
							|  |  |  |             \o Compiler | 
					
						
							|  |  |  |             \o Debugger Engine | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |             \o Linux, Unixes, Mac OS | 
					
						
							|  |  |  |             \o gcc | 
					
						
							|  |  |  |             \o GNU Symbolic Debugger (gdb) | 
					
						
							| 
									
										
										
										
											2009-04-08 16:34:42 +02:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |             \o Windows/MinGW | 
					
						
							|  |  |  |             \o gcc | 
					
						
							|  |  |  |             \o GNU Symbolic Debugger (gdb) | 
					
						
							| 
									
										
										
										
											2009-04-08 16:34:42 +02:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |             \o Windows | 
					
						
							|  |  |  |             \o Microsoft Visual C++ Compiler | 
					
						
							|  |  |  |             \o Debugging Tools for Windows/Microsoft Console Debugger (CDB) | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     The frontend allows you to: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o Go through a program line-by-line or instruction-by-instruction. | 
					
						
							|  |  |  |         \o Interrupt running programs. | 
					
						
							|  |  |  |         \o Set breakpoints. | 
					
						
							|  |  |  |         \o Examine the contents of the call stack, local and global variables, etc. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     Qt Creator displays the raw information provided by the engine | 
					
						
							|  |  |  |     in a clear and concise manner. This simplifies the debugging process. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Qt Creator comes with generic IDE functionality: stack view, views for | 
					
						
							|  |  |  |     locals and watchers, registers, etc. In addition, Qt Creator includes | 
					
						
							|  |  |  |     features to make debugging Qt-based applications easy. The debugger | 
					
						
							|  |  |  |     frontend understands the internal layout of several Qt classes, for | 
					
						
							|  |  |  |     example, QString, the QTL containers, and most importantly QObject | 
					
						
							|  |  |  |     (and classes derived from it), as well as most containers of the C++ | 
					
						
							|  |  |  |     Standard Library. The debugger can present its contents in a useful way. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |     \section1 Debugger Engine Installation Notes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o Debugger engine | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |             \o Notes | 
					
						
							| 
									
										
										
										
											2009-05-28 15:31:12 +02:00
										 |  |  |         \row | 
					
						
							|  |  |  |             \o Gdb | 
					
						
							| 
									
										
										
										
											2009-12-11 16:30:26 +01:00
										 |  |  |             \o Requires gdb version 6.8 on Linux. On Mac OS X, please install the latest available Xcode | 
					
						
							|  |  |  |                available for your OS version. | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o Debugging tools for Windows | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |             \o Using this engine requires you to install the | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                \e{Debugging tools for Windows} | 
					
						
							| 
									
										
										
										
											2009-05-28 15:31:12 +02:00
										 |  |  |                \l{http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx}{32-bit} | 
					
						
							|  |  |  |                or | 
					
						
							|  |  |  |                \l{http://www.microsoft.com/whdc/devtools/debugging/install64bit.Mspx}{64-bit} | 
					
						
							| 
									
										
										
										
											2009-10-06 15:50:48 +02:00
										 |  |  |                package (Version 6.11.1.404 for the 32-bit or the 64-bit version of Qt Creator, respectively), | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |                which is freely available for download from the | 
					
						
							|  |  |  |                \l{http://msdn.microsoft.com/en-us/default.aspx} | 
					
						
							| 
									
										
										
										
											2009-05-28 15:31:12 +02:00
										 |  |  |                {Microsoft Developer Network}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                The pre-built \e{Qt SDK for Windows} makes use | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |                of the library if it is present on the system. When building Qt | 
					
						
							|  |  |  |                Creator using the Microsoft Visual C++ Compiler, the | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                \c{"%ProgramFiles%\Debugging Tools for Windows"} path is | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |                checked to ensure that all required header files are there. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |        \row | 
					
						
							|  |  |  |            \o Debugging tools for Mac OS X | 
					
						
							|  |  |  |            \o The Qt binary distribution contains both debug and release | 
					
						
							|  |  |  |               variants of the libraries. But you have to explicitly tell the | 
					
						
							|  |  |  |               runtime linker that you want to use the debug libraries even if | 
					
						
							|  |  |  |               your application is compiled as debug as release is the default | 
					
						
							|  |  |  |               library. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               If you use a qmake based project in Qt Creator,  you can set a | 
					
						
							|  |  |  |               flag in your run configuration, in Projects mode. In the run | 
					
						
							|  |  |  |               configuration, select \gui{Use debug version of frameworks}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               For more detailed information about debugging on the Mac, refer: | 
					
						
							|  |  |  |               \l http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \note The Mac OS X Snow Leopard (10.6) has a bug, that can be worked | 
					
						
							|  |  |  |               around as described in the link provided below: | 
					
						
							|  |  |  |               \l http://bugreports.qt.nokia.com/browse/QTBUG-4962. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-15 16:34:23 +02:00
										 |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Interaction with the Debugger | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     In \gui Debug mode, several dock widgets are used to interact with the | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     program you are debugging. Frequently-used dock widgets are visible by | 
					
						
							|  |  |  |     default and rarely-used ones are hidden. To change the default settings, | 
					
						
							|  |  |  |     select \gui Debug and then select \gui Views. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Here, you can lock or unlock the location of your dock widgets as well as | 
					
						
							|  |  |  |     display or hide them. The position of your dock widgets is saved for future | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     sessions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section2 Usage of the Debugger | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     To start a program under the debugger's control, select \gui{Debug} > | 
					
						
							|  |  |  |     \gui{Start Debugging} > \gui{Start Debugging}, or press \key{F5}. | 
					
						
							|  |  |  |     Qt Creator checks whether the compiled program is up-to-date, rebuilding | 
					
						
							|  |  |  |     it if necessary. The debugger then takes over and starts the program. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \note Starting a program in the debugger can take a considerable amount of | 
					
						
							|  |  |  |     time, typically in the range of several seconds to minutes if complex | 
					
						
							|  |  |  |     features (like QtWebKit) are used. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Once the program starts running, it behaves and performs as usual. | 
					
						
							|  |  |  |     The user can interrupt a running program by selecting | 
					
						
							|  |  |  |     \gui {Interrupt} from the \gui{Debug} menu. The program is automatically | 
					
						
							|  |  |  |     interrupted as soon as a breakpoint is hit. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Once the program stops, Qt Creator: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o Retrieves data representing the call stack at the program's current | 
					
						
							|  |  |  |            position. | 
					
						
							|  |  |  |         \o Retrieves the contents of local variables. | 
					
						
							|  |  |  |         \o Examines \gui Watchers. | 
					
						
							|  |  |  |         \o Updates the \gui Registers, \gui Modules, and \gui Disassembler | 
					
						
							|  |  |  |            views. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     You can use the debugger views to examine the data in more detail. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     To finish debugging, press \key{Shift+F5}. You can execute a line of code | 
					
						
							|  |  |  |     as a whole with \key{F10}. To step into a function or a sub-function, use | 
					
						
							|  |  |  |     \key{F11}. You can also continue running the program with \key{F5}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     It is also possible to continue executing the program until the current | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     function completes or jump to an arbitrary position in the current function. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \section2 Breakpoints | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     A breakpoint represents a position or sets of positions in the code that, | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     when executed, interrupts the program being debugged and passes the control | 
					
						
							|  |  |  |     to the user. The user is then free to examine the state of the interrupted | 
					
						
							|  |  |  |     program, or continue execution either line-by-line or continuously | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator shows breakpoints in the \gui{Breakpoints} view which is enabled | 
					
						
							|  |  |  |     by default. The \gui{Breakpoints} view is also accessible when the debugger | 
					
						
							|  |  |  |     and the program being debugged is not running. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Typically, breakpoints are associated with a source code file and line, or | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     the start of a function -- both are allowed in Qt Creator. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The interruption of a program by a breakpoint can be restricted with | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     certain conditions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     You can set a breakpoint: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |        \o At a particular line you want the program to stop -- click on the | 
					
						
							| 
									
										
										
										
											2008-12-08 15:14:36 +01:00
										 |  |  |           left margin or press \key F9 (\key F8 for Mac OS X). | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  |        \o At a function that you want the program to interrupt -- enter the | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |           function's name in \gui{Set Breakpoint at Function...} located in the | 
					
						
							|  |  |  |           context menu of the breakpoints view. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \note You can remove a breakpoint: | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \list | 
					
						
							|  |  |  |         \o By clicking on the breakpoint marker in the text editor. | 
					
						
							|  |  |  |         \o By selecting the breakpoint in the breakpoint view and pressing | 
					
						
							|  |  |  |            \key{Delete}. | 
					
						
							|  |  |  |         \o By selecting \gui{Delete Breakpoint} from the breakpoint's context | 
					
						
							|  |  |  |            menu in the \gui Breakpoints view. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Breakpoints can be set and deleted before the program has actually started | 
					
						
							|  |  |  |     running or while it is running under the debugger's control. Also, | 
					
						
							|  |  |  |     breakpoints are saved together with a session. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Stack | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  |     When the program being debugged is interrupted, Qt Creator displays the | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     nested function calls leading to the current position as a call stack | 
					
						
							|  |  |  |     trace. This stack trace is built up from call stack frames, each | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     representing a particular function. For each function, Qt Creator tries | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  |     to retrieve the file name and line number of the corresponding source | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     file. This data is shown in the \gui Stack view. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 18:39:10 +01:00
										 |  |  |     \image qtcreator-debug-stack.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     Since the call stack leading to the current position may originate or go | 
					
						
							|  |  |  |     through code for which no debug information is available, not all stack | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     frames have corresponding source locations. Stack frames without | 
					
						
							|  |  |  |     corresponding source locations are grayed out in the \gui{Stack} view. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     If you click on a frame with a known source location, the text editor | 
					
						
							|  |  |  |     jumps to the corresponding location and updates the \gui{Locals and Watchers} | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  |     view, making it seem like the program was interrupted before entering the | 
					
						
							|  |  |  |     function. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Threads | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  |     If a multi-threaded program is interrupted, the \gui Thread view  or the | 
					
						
							| 
									
										
										
										
											2008-12-08 15:14:36 +01:00
										 |  |  |     combobox named \gui Thread in the debugger's status bar can be used to | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     switch from one thread to another. The \gui Stack view adjusts itself | 
					
						
							| 
									
										
										
										
											2008-12-08 15:14:36 +01:00
										 |  |  |     accordingly. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section2 Modules View and Source Files View | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The \gui{Modules} view and \gui{Source Files} view display the debugger's idea. | 
					
						
							|  |  |  |     By default, the \gui{Modules} view and \gui{Source Files} view are hidden. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Disassembler View and Registers View | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The \gui{Disassembler} view displays disassembled code for the current | 
					
						
							|  |  |  |     function. The \gui{Registers} view displays the current state of the CPU's | 
					
						
							|  |  |  |     registers. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The \gui{Disassembler} view and the \gui{Registers} view are both useful | 
					
						
							|  |  |  |     for low-level commands such as \gui{Step Single Instruction} and | 
					
						
							|  |  |  |     \gui{Step Over Single Instruction}. By default, both \gui{Disassembler} and | 
					
						
							|  |  |  |     \gui{Registers} view are hidden. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \section2 Locals and Watchers | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Whenever a program stops under the control of the debugger, it retrieves | 
					
						
							|  |  |  |     information about the topmost stack frame and displays it in the | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \gui{Locals and Watchers} view. The \gui{Locals and Watchers} view | 
					
						
							|  |  |  |     typically includes information about parameters of the function in that | 
					
						
							|  |  |  |     frame as well as the local variables. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     Compound variables of struct or class type are displayed as | 
					
						
							| 
									
										
										
										
											2009-11-06 10:46:24 +01:00
										 |  |  |     "expandable" in the view. Click on the "+" to expand the entry and show | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     all members. Together with the display of value and type, the user can | 
					
						
							|  |  |  |     examine and traverse the low-level layout of an object's data. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \row | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  |             \i  \bold{Note:} | 
					
						
							| 
									
										
										
										
											2008-12-02 13:06:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-15 17:28:04 +02:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2008-12-02 13:06:53 +01:00
										 |  |  |             \i  Gdb, and therefore Qt Creator's debugger works for optimized | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |                 builds on Linux and Mac OS X. Optimization can lead to | 
					
						
							|  |  |  |                 re-ordering of instructions or removal of some local variables, | 
					
						
							|  |  |  |                 causing the \gui{Locals and Watchers} view to show unexpected | 
					
						
							|  |  |  |                 data. | 
					
						
							| 
									
										
										
										
											2009-04-15 17:28:04 +02:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2008-12-02 13:06:53 +01:00
										 |  |  |             \i  The debug information provided by gcc does not include enough | 
					
						
							|  |  |  |                 information about the time when a variable is initialized. | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  |                 Therefore, Qt Creator can not tell whether the contents of a | 
					
						
							| 
									
										
										
										
											2008-12-02 13:06:53 +01:00
										 |  |  |                 local variable contains "real data", or "initial noise". If a | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                 QObject appears uninitialized, its value is reported as | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |                 "out of scope". Not all uninitialized objects, however, can be | 
					
						
							| 
									
										
										
										
											2008-12-02 13:06:53 +01:00
										 |  |  |                 recognized as such. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 13:06:53 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     The \gui{Locals and Watchers} view also provides access to the most | 
					
						
							|  |  |  |     powerful feature of the debugger: comprehensive display of data belonging | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     to Qt's basic objects. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To enable Qt's basic objects data display feature: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |        \o  Check \gui{Use debugging helper} checkbox from \gui Tools > | 
					
						
							|  |  |  |            \gui {Options...} > \gui Debugger > \gui{Debugging Helper}. | 
					
						
							|  |  |  |        \o  The \gui{Locals and Watchers} view is re-organized to provide a | 
					
						
							|  |  |  |            high-level view of the objects. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  |     See example, in case of QObject, instead of displaying a pointer to some | 
					
						
							|  |  |  |     private data structure, you see a list of children, signals and slots. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-04 17:27:29 +01:00
										 |  |  |     Similarly, instead of displaying many pointers and integers, Qt Creator's | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     debugger displays the contents of a QHash or QMap in an orderly manner. | 
					
						
							|  |  |  |     Also, the debugger displays access data for QFileInfo and provides | 
					
						
							| 
									
										
										
										
											2008-12-04 17:27:29 +01:00
										 |  |  |     access to the "real" contents of QVariant. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The \gui{Locals and Watchers} view can be used to change the contents of | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     variables of simple data types, for example, \c int or \c float when the | 
					
						
							|  |  |  |     program is interrupted. To do so, click on the \gui Value column, modify | 
					
						
							|  |  |  |     the value with the inplace editor, and hit \key Enter (or \key Return). | 
					
						
							| 
									
										
										
										
											2009-03-24 10:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \note The set of watched items is saved in your session. | 
					
						
							| 
									
										
										
										
											2008-12-04 17:27:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-09 16:36:54 +05:30
										 |  |  |     \section1 Walkthrough for the Debugger Frontend | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The \l{Writing a simple program}{TextFinder} example reads a text file into | 
					
						
							|  |  |  |     QString and then displays it with QTextEdit. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     If you want to look at the example's QString, \c{line}, and see the | 
					
						
							|  |  |  |     stored data, you must place a breakpoint and view the QString object's | 
					
						
							|  |  |  |     data. Perform the following steps: | 
					
						
							| 
									
										
										
										
											2010-03-09 16:36:54 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i \inlineimage qtcreator-setting-breakpoint1.png | 
					
						
							|  |  |  |             \i \bold{Setting a Breakpoint} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Click in between the line number and the window border on the line | 
					
						
							|  |  |  |         where we invoke \l{http://doc.trolltech.com/qtextedit.html#plainText-prop}{setPlainText()} | 
					
						
							|  |  |  |         to set a breakpoint. | 
					
						
							|  |  |  |         \o Select \gui{Start Debugging} from the \gui{Debug} menu or press \key{F5}. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i \inlineimage qtcreator-setting-breakpoint2.png | 
					
						
							|  |  |  |             \i \bold{Viewing and removing breakpoints} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Breakpoints are visible in the \gui{Breakpoints} view in | 
					
						
							|  |  |  |     \gui{Debug} mode. To remove a breakpoint, right-click on | 
					
						
							|  |  |  |     it and select \gui{Delete breakpoint} from the context menu. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \i \inlineimage qtcreator-watcher.png | 
					
						
							|  |  |  |             \i \bold{Viewing Locals and Watchers} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To view the contents of \c{line}, go to the \gui{Locals and | 
					
						
							|  |  |  |     Watchers} view. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     If you modify your \c{on_findButton_clicked()} function to move back to | 
					
						
							| 
									
										
										
										
											2010-03-09 16:36:54 +05:30
										 |  |  |     the start of the document and continue searching once the cursor hits the | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     end of the document. You can add the restart from beginning functionality | 
					
						
							|  |  |  |     with the following code snippet: | 
					
						
							| 
									
										
										
										
											2010-03-09 16:36:54 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |     \code | 
					
						
							|  |  |  |     void TextFinder::on_findButton_clicked() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         QString searchString = ui->lineEdit->text(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         QTextDocument *document = ui->textEdit->document(); | 
					
						
							|  |  |  |         QTextCursor cursor = ui->textEdit->textCursor(); | 
					
						
							|  |  |  |         cursor = document->find(searchString, cursor, | 
					
						
							|  |  |  |             QTextDocument::FindWholeWords); | 
					
						
							|  |  |  |         ui->textEdit->setTextCursor(cursor); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         bool found = cursor.isNull(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!found && previouslyFound) { | 
					
						
							|  |  |  |             int ret = QMessageBox::question(this, tr("End of Document"), | 
					
						
							|  |  |  |             tr("I have reached the end of the document. Would you like " | 
					
						
							|  |  |  |             "me to start searching from the beginning of the document?"), | 
					
						
							|  |  |  |             QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             if (ret == QMessageBox::Yes) { | 
					
						
							|  |  |  |                 cursor = document->find(searchString, | 
					
						
							|  |  |  |                     QTextDocument::FindWholeWords); | 
					
						
							|  |  |  |                 ui->textEdit->setTextCursor(cursor); | 
					
						
							|  |  |  |             } else | 
					
						
							|  |  |  |                 return; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         previouslyFound = found; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     If you compile and run the above code, however, the application does not | 
					
						
							|  |  |  |     work correctly due to a logic error. To locate this logic error, step | 
					
						
							| 
									
										
										
										
											2010-03-09 16:36:54 +05:30
										 |  |  |     through the code using the following buttons: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-debugging-buttons.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section1 Setting the Symbol Server | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To obtain operating system libraries for debugging Windows applications, | 
					
						
							|  |  |  |     you have to add the Symbol Server: | 
					
						
							| 
									
										
										
										
											2010-03-09 16:36:54 +05:30
										 |  |  |     \list 1 | 
					
						
							|  |  |  |         \o  Select \gui Tools > \gui Options > \gui Debugger > \gui Cdb | 
					
						
							|  |  |  |         \o  Click \inlineimage qtcreator-serverbutton.png | 
					
						
							|  |  |  |             located next to the \gui{Insert...} button of the Symbol paths | 
					
						
							|  |  |  |             field and select \gui{Symbol Server...} | 
					
						
							|  |  |  |         \o  Select a directory where you want to store the cached information | 
					
						
							|  |  |  |             and click \gui OK. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |     \section1 Debugging Helper Library with C++ | 
					
						
							| 
									
										
										
										
											2009-04-16 16:24:38 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     While debugging, Qt Creator dynamically loads a helper library into your | 
					
						
							| 
									
										
										
										
											2009-04-17 15:35:47 +02:00
										 |  |  |     program. This helper library enables Qt Creator to pretty print Qt and STL | 
					
						
							|  |  |  |     types. The Qt SDK package already contains a prebuilt debugging helper | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     library. To create an own debugging helper library, select \gui{Options} | 
					
						
							|  |  |  |     from the \gui{Tools} menu, and go to the \gui{Qt4 > Qt Versions} pane. As | 
					
						
							|  |  |  |     the internal data structures of Qt can change between versions, the debugging | 
					
						
							|  |  |  |     helper library is built for each Qt version. | 
					
						
							| 
									
										
										
										
											2009-04-16 16:24:38 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |     \section1 Debugging Helper Library with Python | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Using a gdb version that has Python scripting available it is possible to | 
					
						
							|  |  |  |     use Debugging Helpers also for user defined types. All that is needed is | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     to define one Python function per user defined type in \c{.gdbinit}. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 11:12:38 +01:00
										 |  |  |     The function's name has to be qdump__NS__Foo where NS::Foo is the class | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |     or class template to be examined. Nested namespaces are possible. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Qt Creator's debugger integration calls this function whenever you want to | 
					
						
							|  |  |  |     display an object of this type. The function is passed the following | 
					
						
							|  |  |  |     parameters: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |        \o  'd' of type 'Dumper' | 
					
						
							|  |  |  |        \o  'item' of type 'Item' | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The function has to feed the Dumper object with certain information | 
					
						
							|  |  |  |     which is used to build up the object and its children's display in the | 
					
						
							|  |  |  |     \gui{Locals and Watchers} view. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Example: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \code | 
					
						
							|  |  |  |     def qdump__QVector(d, item): | 
					
						
							|  |  |  |         d_ptr = item.value["d"] | 
					
						
							|  |  |  |         p_ptr = item.value["p"] | 
					
						
							|  |  |  |         alloc = d_ptr["alloc"] | 
					
						
							|  |  |  |         size = d_ptr["size"] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000) | 
					
						
							|  |  |  |         check(d_ptr["ref"]["_q_value"] > 0) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         innerType = item.value.type.template_argument(0) | 
					
						
							|  |  |  |         d.putItemCount(size) | 
					
						
							|  |  |  |         d.putNumChild(size) | 
					
						
							|  |  |  |         if d.isExpanded(item): | 
					
						
							|  |  |  |             p = gdb.Value(p_ptr["array"]).cast(innerType.pointer()) | 
					
						
							|  |  |  |             d.beginChildren([size, 2000], innerType) | 
					
						
							|  |  |  |             for i in d.childRange(): | 
					
						
							|  |  |  |                 d.safePutItem(Item(p.dereference(), item.iname, i)) | 
					
						
							|  |  |  |                 p += 1 | 
					
						
							|  |  |  |             d.endChildren() | 
					
						
							|  |  |  |     \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The 'Item' Python class is a thin wrapper around values corresponding to one | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     line in the \gui{Locals and Watchers} view. The 'Item' members are as follows : | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{__init__(self, value, parentiname, iname, name = None)} - A | 
					
						
							|  |  |  |        constructor. The object's internal name is created by concatenating | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |        \c parentiname and \c iname. If \c None is passed as \c name, a | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |        serial number is used. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{value} - An object of type gdb.Value representing the value to | 
					
						
							|  |  |  |         be displayed. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \o \gui{iname} - The internal name of the object, constituting a dot-separated | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |     list of identifiers, corresponding to the position of the object's | 
					
						
							|  |  |  |     representation in the view. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \o \gui{name} - An optional name. If given, is used in the | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |     \gui{name} column of the view. If not, a simple number in brackets | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     is used instead. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     For each line in the \gui{Locals and Watchers} view, a string like the | 
					
						
							|  |  |  |     following needs to be created and channeled to Creator's debugger plugin. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |     \code | 
					
						
							|  |  |  |     "{iname='some internal name', | 
					
						
							|  |  |  |       addr='object address in memory', | 
					
						
							|  |  |  |       name='contents of the name column', | 
					
						
							|  |  |  |       value='contents of the value column', | 
					
						
							|  |  |  |       type='contents of the type column', | 
					
						
							|  |  |  |       numchild='number of children',        // zero/nonzero is sufficient | 
					
						
							|  |  |  |       childtype='default type of children', // optional | 
					
						
							|  |  |  |       childnumchild='default number of grandchildren', // optional | 
					
						
							|  |  |  |       children=[              // only needed if item is expanded in view | 
					
						
							|  |  |  |          {iname='internal name of first child', | 
					
						
							|  |  |  |           ... }, | 
					
						
							|  |  |  |          {iname='internal name of second child', | 
					
						
							|  |  |  |           ... }, | 
					
						
							|  |  |  |          ... | 
					
						
							|  |  |  |       ]}" | 
					
						
							|  |  |  |     \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     While in theory, you can build up the entire string above manually, it is | 
					
						
							|  |  |  |     easier to employ the 'Dumper' Python class for that purpose. The 'Dumper' | 
					
						
							|  |  |  |     Python class contains a complete framework to take care of the 'iname' and | 
					
						
							|  |  |  |     'addr' fields, to handle children of simple types, references, pointers, | 
					
						
							|  |  |  |     enums, known and unknown structs as well as some convenience methods to | 
					
						
							|  |  |  |     handle common situations. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     The 'Dumper' members are the following: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{__init__(self)} - Initializes the output to an empty string and | 
					
						
							|  |  |  |         empties the child stack. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{put(self, value)} - Low level method to directly append to the | 
					
						
							|  |  |  |         output string. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putCommaIfNeeded(self)} - Appends a comma if the current output | 
					
						
							|  |  |  |         ends in '}', '"' or ']' . | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putField(self, name, value)} - Appends a comma if needed, and a | 
					
						
							|  |  |  |          name='value' field. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{beginHash(self)} - Appends a comma if needed and a '{', marking | 
					
						
							|  |  |  |         the begin of a set of fields. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{endHash(self)} - Appends a '}', marking the end of a set of | 
					
						
							|  |  |  |         fields. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{beginItem(self, name)} - Starts writing a field by writing \c {name='}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{endItem(self)} - Ends writing a field by writing \c {'}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{beginChildren(self, numChild_ = 1, childType_ = None, childNumChild_ = None)} | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         - Starts writing a list of \c numChild children, with type | 
					
						
							|  |  |  |         \c childType_ and \c childNumChild_ grandchildren each. If \c numChild_ | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         is a list of two integers, the first one specifies the actual number | 
					
						
							|  |  |  |         of children and the second the maximum number of children to print. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{endChildren(self)} - Ends writing a list of children. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{childRange(self)} - Return the range of children specified in | 
					
						
							|  |  |  |         \c beginChildren. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putItemCount(self, count)} - Appends a field  \c {value='<%d items'} | 
					
						
							|  |  |  |         to the output. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putEllipsis(self)} - Appends fields | 
					
						
							|  |  |  |         \c {'{name="<incomplete>",value="",type="",numchild="0"}'}. This is | 
					
						
							|  |  |  |         automatically done by \c endChildren if the number of children to | 
					
						
							|  |  |  |         print is smaller than the number of actual children. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putName(self, name)} - Appends a \c {name='...'} field. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putType(self, type)} - Appends a field \c {type='...'} unless the | 
					
						
							|  |  |  |         \a type coincides with the parent's default child type. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putNumChild(self, numchild)} - Appends a field \c {numchild='...'} | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         unless the \c numchild coincides with the parent's default child numchild | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         value. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putValue(self, value, encoding = None)} - Append a file \c {value='...'}, | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         optionally followed by a field \c {valueencoding='...'}. The \c value | 
					
						
							| 
									
										
										
										
											2010-02-17 11:12:38 +01:00
										 |  |  |         needs to be convertible to a string entirely consisting of | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         alphanumerical values. The \c encoding parameter can be used to | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         specify the encoding in case the real value had to be encoded in some | 
					
						
							|  |  |  |         way to meet the alphanumerical-only requirement. | 
					
						
							|  |  |  |         Currently the following encodings are supported: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \list | 
					
						
							|  |  |  |             \o 0: unencoded 8 bit data, interpreted as Latin1. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \o 1: base64 encoded 8 bit data, used for QByteArray, | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |                 double quotes are added. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |             \o 2: base64 encoded 16 bit data, used for QString, | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |                 double quotes are added. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |             \o 3: base64 encoded 32 bit data, | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |                 double quotes are added. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |             \o 4: base64 encoded 16 bit data, without quotes (see 2) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \o 5: base64 encoded 8 bit data, without quotes (see 1) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \o 6: %02x encoded 8 bit data (as with \c QByteArray::toHex), | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |                 double quotes are added. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |             \o 7: %04x encoded 16 bit data (as with \c QByteArray::toHex), | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |                 double quotes are added. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putStringValue(self, value)} - Encodes a QString and calls | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \c putValue with the correct \c encoding setting. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putByteArrayValue(self, value)} - Encodes a QByteArray and calls | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \c putValue with the corrent \c encoding setting. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{isExpanded(self, item)} - Checks whether the item with the | 
					
						
							|  |  |  |         internal name \c item.iname is expanded in the view. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{isExpandedIName(self, iname)} - Checks whether the item with the | 
					
						
							|  |  |  |         internal name \c iname is expanded in the view. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o \gui{putIntItem(self, name, value)} - Equivalent to: | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         \code | 
					
						
							|  |  |  |         self.beginHash() | 
					
						
							|  |  |  |         self.putName(name) | 
					
						
							|  |  |  |         self.putValue(value) | 
					
						
							|  |  |  |         self.putType("int") | 
					
						
							|  |  |  |         self.putNumChild(0) | 
					
						
							|  |  |  |         self.endHash() | 
					
						
							|  |  |  |         \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o \gui{putBoolItem(self, name, value)} - Equivalent to: | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         \code | 
					
						
							|  |  |  |         self.beginHash() | 
					
						
							|  |  |  |         self.putName(name) | 
					
						
							|  |  |  |         self.putValue(value) | 
					
						
							|  |  |  |         self.putType("bool") | 
					
						
							|  |  |  |         self.putNumChild(0) | 
					
						
							|  |  |  |         self.endHash() | 
					
						
							|  |  |  |         \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 11:12:38 +01:00
										 |  |  |     \o \gui{pushOutput(self)} - Moves the output string to a safe location | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         from with it is sent to the frontend even if further operations | 
					
						
							| 
									
										
										
										
											2010-02-17 11:12:38 +01:00
										 |  |  |         raise an exception. | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putCallItem(self, name, item, func)} - | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         Uses gdb to call the function \c func on the value specified by | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         \a {item.value} and output the resulting item. This function is | 
					
						
							|  |  |  |         not available when debugging core dumps and it is not available | 
					
						
							|  |  |  |         on the Symbian platform due to restrictions imposed by AppTRK. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{putItemHelper(self, item)} - The "master function", handling | 
					
						
							|  |  |  |         basic types, references, pointers and enums directly, iterates | 
					
						
							|  |  |  |         over base classes and class members of compound types and calls | 
					
						
							|  |  |  |         \c qdump__* functions whenever appropriate. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o \gui{putItem(self, item)} - Equivalent to: | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |         self.beginHash() | 
					
						
							|  |  |  |         self.putItemHelper(item) | 
					
						
							|  |  |  |         self.endHash() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{safePutItemHelper(self, item)} - Calls \c putItemHelper(self, item). | 
					
						
							|  |  |  |         If an exception is raised, catch it, and replace all output produced by | 
					
						
							| 
									
										
										
										
											2010-02-17 11:12:38 +01:00
										 |  |  |         \c putItemHelper with the output of \code | 
					
						
							| 
									
										
										
										
											2009-12-15 09:38:16 +01:00
										 |  |  |             self.putName(item.name) | 
					
						
							|  |  |  |             self.putValue("<invalid>") | 
					
						
							|  |  |  |             self.putType(str(item.value.type)) | 
					
						
							|  |  |  |             self.putNumChild(0) | 
					
						
							|  |  |  |             self.beginChildren() | 
					
						
							|  |  |  |             self.endChildren() \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o \gui{safePutItem(self, item)} - Equivalent to | 
					
						
							|  |  |  |         self.beginHash() | 
					
						
							|  |  |  |         self.safePutItemHelper(item) | 
					
						
							|  |  |  |         self.endHash() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-project-qmake.html | 
					
						
							|  |  |  |     \page creator-project-cmake.html | 
					
						
							|  |  |  |     \nextpage creator-project-generic.html | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Setting Up a CMake Project | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Since Qt Creator 1.1, support for \c CMake project files is available. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     Qt Creator 1.3 supports the Microsoft Toolchain if the CMake version | 
					
						
							| 
									
										
										
										
											2009-11-02 16:17:13 +01:00
										 |  |  |     is at least 2.8. | 
					
						
							| 
									
										
										
										
											2009-05-04 14:18:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 17:36:49 +05:30
										 |  |  |     You can set the path for the \c CMake executable in \gui{Tools} > | 
					
						
							|  |  |  |     \gui{Options...} > \gui{CMake} > \gui{CMake}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-cmakeexecutable.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \note Before you open a \c CMake project it is necessary to modify the | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \c{PATH} environment variable to include the bin folders of \c mingw and | 
					
						
							| 
									
										
										
										
											2010-03-11 17:36:49 +05:30
										 |  |  |     Qt Creator in the SDK. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     For instance, if you have the Qt Creator SDK installed in your C drive, | 
					
						
							|  |  |  |     use the following command to set the environment variables in | 
					
						
							|  |  |  |     the command line prompt: | 
					
						
							|  |  |  |     \code | 
					
						
							|  |  |  |     set PATH=C:\qtsdk\mingw\bin;C:\qtsdk\qt\bin; | 
					
						
							|  |  |  |     \endcode | 
					
						
							|  |  |  |     Then start Qt Creator by typing: | 
					
						
							|  |  |  |     \code | 
					
						
							|  |  |  |     C:\qtsdk\bin\qtcreator.exe | 
					
						
							|  |  |  |     \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  |     \section1 Opening CMake Projects | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 17:36:49 +05:30
										 |  |  |     To open a \c CMake project: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o  Select \gui{File} > \gui{Open File or Project...} | 
					
						
							|  |  |  |         \o  Select the \c{CMakeLists.txt} file from your \c CMake project | 
					
						
							| 
									
										
										
										
											2010-03-11 17:36:49 +05:30
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     A wizard guides you with the rest of the process. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \note If the \c CMake project does not have an in-place build, Qt Creator | 
					
						
							|  |  |  |     lets you specify the directory in which the project is built | 
					
						
							|  |  |  |    (\l{glossary-shadow-build}{shadow build}). | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-17 16:09:54 +02:00
										 |  |  |     \image qtcreator-cmake-import-wizard1.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  |     The screenshot below shows how you can specify command line arguments to | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  |     \c CMake for your project. | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-17 16:09:54 +02:00
										 |  |  |     \image qtcreator-cmake-import-wizard2.png | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  |     Normally, there is no need to pass any command line arguments for projects | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  |     that are already built, as \c CMake caches that information. | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Building CMake Projects | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     Qt Creator builds \c CMake projects by running \c make, \c mingw32-make, or | 
					
						
							| 
									
										
										
										
											2009-11-02 16:17:13 +01:00
										 |  |  |     \c nmake depending on your platform. The build errors and warnings are | 
					
						
							|  |  |  |     parsed and displayed in the \gui{Build Issues} output pane. | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 17:36:49 +05:30
										 |  |  |     By default, Qt Creator builds the \bold{all} target. You can specify which | 
					
						
							| 
									
										
										
										
											2009-05-04 14:18:57 +02:00
										 |  |  |     targets to build in \gui{Project} mode, under \gui{Build Settings}. | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-17 16:09:54 +02:00
										 |  |  |     \image qtcreator-cmake-build-settings.png | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 17:36:49 +05:30
										 |  |  |     Qt Creator supports multiple build configurations. The build | 
					
						
							|  |  |  |     directory can also be modified after the initial import. | 
					
						
							| 
									
										
										
										
											2009-05-04 14:18:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  |     \section1 Running CMake Projects | 
					
						
							| 
									
										
										
										
											2009-05-04 14:18:57 +02:00
										 |  |  |     Qt Creator automatically adds \gui{Run Configurations} for all targets | 
					
						
							|  |  |  |     specified in the \c CMake project file. | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-15 17:28:04 +02:00
										 |  |  |     Known issues for the current version can be found | 
					
						
							| 
									
										
										
										
											2010-03-01 17:57:37 +01:00
										 |  |  |     \l{Known Issues of version 1.3.82}{here}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Adding External Libraries to a CMake Project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Through external libraries Qt Creator can support code completion and | 
					
						
							|  |  |  |     syntax highlighting as if they were part of the current project or the Qt | 
					
						
							|  |  |  |     library. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 17:36:49 +05:30
										 |  |  |     Qt Creator detects the external libraries using the \c FIND_PACKAGE() | 
					
						
							|  |  |  |     macro. Some libraries come with the CMake installation. You can find those | 
					
						
							|  |  |  |     in the \bold{Modules} directory of your CMake installation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \note If you provide your own libraries, you also need to provide your own | 
					
						
							|  |  |  |     \c FindFoo.cmake file. For more information, see | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \l{http://vtk.org/Wiki/CMake_FAQ#Writing_FindXXX.cmake_files}{CMake FAQ}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Syntax completion and highlighting work once your project successfully | 
					
						
							|  |  |  |     builds and links against the external library. | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-project-cmake.html | 
					
						
							|  |  |  |     \page creator-project-generic.html | 
					
						
							|  |  |  |     \nextpage creator-project-managing-sessions.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \title Setting Up a Generic Project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator supports generic projects, so you can import existing projects | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     that do not use qmake or CMake and Qt Creator ignores your build system. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Generic project support allows you to use Qt Creator as a code editor. You | 
					
						
							|  |  |  |     can change the way your project is built by modifying the \c make command | 
					
						
							|  |  |  |     in the \gui{Projects} mode under \gui{Build Settings}. | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     When you import a project, Qt Creator creates the following files that | 
					
						
							|  |  |  |     allow you to specify which files belong to your project and which include | 
					
						
							|  |  |  |     directories or defines you want to pass to your compile: | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \c{.files}, \c{.includes}, and \c{.config}. | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Importing a Generic Project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To import an existing generic project: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui File > \gui{New File or Project...} > \gui Projects > | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |            \gui{Import Existing Project}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \o In \gui{Generic Project}, enter the project name | 
					
						
							|  |  |  |            and select the project file you want to import. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            Qt Creator automatically generates the following files in the | 
					
						
							|  |  |  |            project directory: | 
					
						
							|  |  |  |            \list | 
					
						
							|  |  |  |                \o \l{Specifying Files}{.files} | 
					
						
							|  |  |  |                \o \l{Specifying Include Paths}{.includes} | 
					
						
							|  |  |  |                \o \l{Specifying Defines}{.config} | 
					
						
							|  |  |  |                \o .creator | 
					
						
							|  |  |  |            \endlist | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     When the project is successfully imported, Qt Creator creates its project | 
					
						
							|  |  |  |     tree in the sidebar. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     After importing a generic project into Qt Creator, open it by selecting the | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \c{.creator} file. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Working with Generic Project Files | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-03 14:54:55 +02:00
										 |  |  |     For a generic project, you have to manually specify which files belong to | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     your project and which include directories or defines you want to pass to | 
					
						
							|  |  |  |     your compiler. | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Specifying Files | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     The list of files for a generic project is specified in the \c .files | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     file. When you first create a generic project, Qt Creator adds any | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     files it recognizes to your project. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To add or remove files, edit the \c .files file in Qt Creator. | 
					
						
							|  |  |  |     Qt Creator recreates your project tree when you save the \c{.files file}. | 
					
						
							|  |  |  |     Alternatively, you can add and remove files using the context menu in the | 
					
						
							|  |  |  |     project tree. | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     If you frequently need to update the \c .files file, you can do so | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     efficiently by using a script that updates the file for you. If the file | 
					
						
							|  |  |  |     is modified externally, you have to restart Qt Creator for the changes to | 
					
						
							|  |  |  |     take effect. | 
					
						
							| 
									
										
										
										
											2009-08-03 14:54:55 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To update the \c .files on the \gui git repository use the following | 
					
						
							|  |  |  |     script: | 
					
						
							|  |  |  |     \code | 
					
						
							|  |  |  |     git ls-files *.cpp > MyProject.files | 
					
						
							|  |  |  |     \endcode | 
					
						
							| 
									
										
										
										
											2009-08-03 14:54:55 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Specifying Include Paths | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-01 14:48:39 +02:00
										 |  |  |     The include paths are specified in the \c{.includes} file, one include | 
					
						
							|  |  |  |     path per line. The paths can be either absolute or relative to the | 
					
						
							|  |  |  |     \c{.includes} file. | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Specifying Defines | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     The defines are specified in the \c .config file. The \c.{config} file is a | 
					
						
							|  |  |  |     regular C++ file, prepended to all your source files when they are parsed. | 
					
						
							|  |  |  |     Only use the \c{.config} file to add lines as in the example below: | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-03 14:54:55 +02:00
										 |  |  |     \code | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  |     #define NAME value | 
					
						
							| 
									
										
										
										
											2009-08-03 14:54:55 +02:00
										 |  |  |     \endcode | 
					
						
							| 
									
										
										
										
											2009-07-24 16:37:34 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-01 14:48:39 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Creating a Run Configuration | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Qt Creator cannot automatically determine which executable to run. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     In the \gui{Projects} mode under \gui{Run Settings}, define the executable | 
					
						
							|  |  |  |     file to run: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Click \gui Add and select \gui{Custom Executable}. | 
					
						
							|  |  |  |         \o Define the configuration name, the location of the executable, any | 
					
						
							|  |  |  |            additional arguments you want to and the working directory. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Adding External Libraries to a Generic Project | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Through external libraries Qt Creator can support code completion and | 
					
						
							|  |  |  |     syntax highlighting as if they were part of the current project or the Qt | 
					
						
							|  |  |  |     library. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |     If you import a project using the \gui{Import Existing Project} | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     function, Qt Creator creates a file called \c{<projectname>.includes} in | 
					
						
							|  |  |  |     your project directory. The \c{.includes} file contains all project | 
					
						
							|  |  |  |     subdirectories for which Qt Creator found relevant headers. Add your | 
					
						
							|  |  |  |     include paths here. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \note In \gui Projects mode of a generic project, Qt Creator does not | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     modify any project settings prior to the build. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Syntax completion and highlighting work once your project successfully | 
					
						
							|  |  |  |     builds and links against the external library. | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-06 16:22:20 +02:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \previouspage creator-visual-editor.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \page creator-developing-applications.html | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \nextpage creator-developing-maemo.html | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \title Developing Mobile Applications | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \omit Use \QD or \QMLD to design and implement application UI. \endomit | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Set up the development environment for your chosen mobile device | 
					
						
							|  |  |  |     platform, Maemo or Symbian. Then specify build and run settings | 
					
						
							|  |  |  |     for the environment in Qt Creator to build and run applications | 
					
						
							|  |  |  |     from Qt Creator. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \previouspage creator-project-managing-sessions.html | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \page creator-visual-editor.html | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \nextpage creator-developing-applications.html | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \title Developing QML Applications | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     You can either create QML projects from scratch or import them to | 
					
						
							|  |  |  |     Qt Creator. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Creating QML Projects | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 10:50:20 +01:00
										 |  |  |     Select \gui {File > New File or Project > Qt Quick Project > QML Application}. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \QMLD creates the following files: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o .qmlproject project file defines that all QML, JavaScript, and image | 
					
						
							|  |  |  |     files in the project folder belong to the project. Therefore, you do not | 
					
						
							|  |  |  |     need to individually list all the files in the project. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \o .qml file defines an element, such as a component, screen, or the whole | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     application UI. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To use JavaScript and image files in the application, copy them to the | 
					
						
							|  |  |  |     project folder. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To import a QML project to Qt Creator, select | 
					
						
							| 
									
										
										
										
											2010-03-18 10:50:20 +01:00
										 |  |  |     \gui {File > New File or Project > Qt Quick Project > Import Existing Qt QML Directory}. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section1 Designing Application UI | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     One .qml file can define a component, screen, or the whole application. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Creating Components | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     A QML component provides a way of defining a new type that you can re-use in other QML | 
					
						
							|  |  |  |     files. A component is like a black box; it interacts with the outside world | 
					
						
							|  |  |  |     through properties, signals, and slots, and is generally defined in its own QML file. | 
					
						
							|  |  |  |     You can import components to screens and applications. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     You can use the \gui Library items to create components. Drag and drop | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     them to the editor and modify their properties in the \gui Properties pane. | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     You can use QML to add properties for a component. The properties are automatically | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     displayed in the \gui Properties pane. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     For example, to create a button component: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Select \gui {File > New File or Project > Qt > Qt QML File} to create a QML file | 
					
						
							|  |  |  |         called button.qml. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Double-click the file to open it in the code editor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Click \gui {Design} to edit the file in the visual editor. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Drag and drop a \gui Rectangle from the \gui Library pane to the scene. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui Properties pane, click \gui Advanced, to modify the appearance of the button. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui Color field, select the button color, and in the \gui Radius field, use | 
					
						
							|  |  |  |         the slider to set the radius of the rectangle and produce rounded corners for the button. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Drag and drop a \gui {Text} item on top of the \gui Rectangle. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui Properties pane, click \gui Advanced, and type \bold Button in the | 
					
						
							|  |  |  |         \gui Text field. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         You can select the text color, font, size, and style in the \gui Font field. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o In the \gui Alignment field, select the center button to align the text to the | 
					
						
							|  |  |  |         center of the button. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Click \gui {Anchor}, and then click the | 
					
						
							|  |  |  |         \inlineimage qmldesigner-anchor-fill-screen.png | 
					
						
							|  |  |  |         button to anchor the text to the whole button area. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Click \gui Edit to edit the \c width and \c height properties of the button | 
					
						
							|  |  |  |         to fit the button size. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Press \key {Ctrl+S} to save the button. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \image qmldesigner-button.png "Button component" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section2 Creating Screens | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     You can use the \gui Library items to create screens. Use states and transitions | 
					
						
							|  |  |  |     to navigate between screens. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     QML states typically describe user interface configurations, such as the UI elements, | 
					
						
							|  |  |  |     their properties and behavior and the available actions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To make movement between states smooth, you can specify transitions. The | 
					
						
							|  |  |  |     \c from and \c to properties define the states between which the transitions run. To | 
					
						
							|  |  |  |     run the transitions in reverse when changing back from the down state to the default state, | 
					
						
							|  |  |  |     set \c reversible to \c true. This is equivalent to writing the two transitions separately. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     You can use the \c ParallelAnimation element to start several animations at the same time. | 
					
						
							|  |  |  |     Or use the \c SequentialAnimation element to run them one after another. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \section2 Adding User Interaction Methods | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To add interaction methods, drag and drop a \gui {Focus Scope} or \gui {Mouse Area} | 
					
						
							|  |  |  |     to the screen. In the code editor, add signal handlers to execute when users select | 
					
						
							|  |  |  |     the scope or area. Signal handlers allow actions to be taken in reponse to an event. | 
					
						
							|  |  |  |     For instance, the \gui {MouseArea} element has signal handlers to handle mouse press, | 
					
						
							|  |  |  |     release, and click. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     \section1 Implementing Application Logic | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     A user interface is only a part of an application, and not really useful by itself. | 
					
						
							|  |  |  |     You can use Qt to implement the application logic. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-03-17 16:27:07 +01:00
										 |  |  |     \previouspage creator-developing-applications.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \page creator-developing-maemo.html | 
					
						
							|  |  |  |     \nextpage creator-developing-symbian.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \title Developing Maemo Applications | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Maemo is a software platform developed by Nokia for smartphones and | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Internet Tablets. The Maemo SDK provides an open development environment | 
					
						
							|  |  |  |     for different applications on top of the Maemo platform. | 
					
						
							|  |  |  |     Maemo 5 is based on the Linux 2.6 operating system. You can find more | 
					
						
							|  |  |  |     information about the Maemo platform \l{http://maemo.org/intro/platform/}{here}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Getting Started with Maemo Based Applications | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     To begin development for Maemo applications, you require the following: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \list | 
					
						
							|  |  |  |        \o  An N900 device with updates installed. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |        \o  MADDE is a cross-platform Maemo development | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |            tool. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            For more information about MADDE pertaining to its | 
					
						
							|  |  |  |            installation, configuration, and deployment on the device, see | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |           \l{http://wiki.maemo.org/MADDE}{Introdution to MADDE}. | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |        \o  An IP address for the device. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            In order to setup the device IP address, you need to install | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            PC Connectivity or implement it using CLI. More information about PC | 
					
						
							|  |  |  |            Connectivity can be found | 
					
						
							| 
									
										
										
										
											2010-03-04 12:42:14 +05:30
										 |  |  |           \l{http://pc-connectivity.garage.maemo.org/2nd_edition/node3.html#SECTION00032300000000000000} | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |            {here}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     For deploying and running applications on the device, you need the | 
					
						
							|  |  |  |     following: | 
					
						
							|  |  |  |     \list | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |        \o The Nokia USB drivers that come, for example with, PC Suite. | 
					
						
							|  |  |  |        \o Qt installed on the device. A simple technique to | 
					
						
							|  |  |  |           install Qt is to run the Maemo device \gui{Application Manager} and | 
					
						
							|  |  |  |           download any application using Qt Creator. Running the Maemo device | 
					
						
							|  |  |  |           \gui{Application Manager} and downloading an application with Qt | 
					
						
							|  |  |  |           Creator installs all dependencies required for Qt Creator at the same | 
					
						
							|  |  |  |           time. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      The Qt Creator/MADDE integration is supported on the following platforms: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |        \o  Linux (32 bit and 64 bit) | 
					
						
							|  |  |  |        \o  Windows (32 bit and 64 bit) | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Setting Up the N900 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |     You can connect your device to your workstation using either an USB or a | 
					
						
							|  |  |  |     WLAN connection. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     For the device, you need to use a tool called Mad Developer to create the | 
					
						
							|  |  |  |     device-side end point for USB and WLAN connections. It provides no | 
					
						
							|  |  |  |     diagnostics functions but is essential for creating connections between the | 
					
						
							|  |  |  |     device and your workstation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     For the workstation, you need to set up a network port that detects the | 
					
						
							|  |  |  |     Maemo device as a network device | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |     \note If you use the device's USB network functionality and plan to | 
					
						
							|  |  |  |     connect your development PC to the N900 via a common WLAN network, you can | 
					
						
							|  |  |  |     ignore the USB-specific parts in the following sections. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |     \section2 Installing the Mad Developer Package | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To install Mad Developer on your device, you need to add an application | 
					
						
							|  |  |  |     catalogue (repository) to the list of catalogues your device checks for | 
					
						
							|  |  |  |     installable software, and install the actual Mad Developer software | 
					
						
							|  |  |  |     package using root privileges. This is done according to the following | 
					
						
							|  |  |  |     steps: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |      \list 1 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |          \o Start the application manager | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |             Enter the data as displayed in the screenshot below. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \note The complete web address is | 
					
						
							|  |  |  |             \l http://repository.maemo.org/extras-devel | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \image qtcreator-app-manager-extras-devel-screenshot.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |          \o Select \gui{Download} > \gui{Development} > \gui{mad-developer}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             The screenshots below shows the procees of selecting the | 
					
						
							|  |  |  |             \gui{mad-developer}: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             \image qt-creator-app_manager_screenshot1.png | 
					
						
							|  |  |  |             \image qt-creator-app_manager_screenshot2.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |          \o Install the Mad Developer software package. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |          \o Start the Mad Developer application. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |      \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |    \note If you are using Microsoft Windows as development host, you must | 
					
						
							|  |  |  |          change the driver loaded for instantiating the connection. | 
					
						
							|  |  |  |          For this click \gui{Manage USB} and select \gui{Load g_ether}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |     Follow the steps mentioned below to set up the USB settings: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |        \o Click \gui Edit in the usb0 row and confirm with \gui Configure. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |           \note By default, you do not need to make changes. The usb0 row | 
					
						
							|  |  |  |           displays the IP address 192.168.2.15. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |        \o Select \gui{Developer Password} to generate a password for a freshly | 
					
						
							|  |  |  |           created user called "developer". The password stays valid for as long | 
					
						
							|  |  |  |           the password generation dialog is open. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |           Refer to the screenshot below as an example. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |           \image qtcreator-mad-developer-screenshot.png | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section2 Establishing the USB Connection | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Connect your device to the development PC via the USB cable. A dialog | 
					
						
							|  |  |  |     pops up asking for the mode to use. Choose \gui{PC suite mode}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \note If you experience connection problems due to a USB port issue, switch | 
					
						
							|  |  |  |      to a different port. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section1 Setting Up Connectivity | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section2 Linux | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |     The device uses the IP address 192.168.2.15 with the subnet 255.255.255.0 | 
					
						
							|  |  |  |     for its USB connection by default, so you can create the network interface | 
					
						
							|  |  |  |     with a different address inside the same subnet too. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \note If you have changed the IP address of the device when configuring | 
					
						
							|  |  |  |     Mad Developer, you need to reflect those changes in your workstation's USB | 
					
						
							|  |  |  |     network settings as well. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Run the following command in a shell as root user: | 
					
						
							|  |  |  |                   \c{ifconfig usb0 192.168.2.14 up} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \section2 Windows | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-18 11:36:24 +05:30
										 |  |  |     When you connect the device to your Windows PC, Windows tries to install a | 
					
						
							|  |  |  |     driver for the Linux USB Ethernet connection. In the | 
					
						
							|  |  |  |     \gui{Found New Hardware Wizard}, select \gui{No, not this time} in the | 
					
						
							|  |  |  |     first dialog and \gui{Install the software automatically} in the second | 
					
						
							|  |  |  |     dialog. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Open the Network Connections window. The just installed Linux USB Ethernet | 
					
						
							|  |  |  |     connection is now displayed as a new Local Area Connection. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Perform the same steps through the Network configuration tools available | 
					
						
							|  |  |  |     with the operating system. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Change the IP to be set statically and enter the following values: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |        \o  IP Address: 192.168.2.14 | 
					
						
							|  |  |  |        \o  SubnetMask: 255.255.255.0 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |        \o  Default gateway: 192.168.2.15 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Accept these settings and close the Network Configuration. Depending on | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     your version of Microsoft Windows you may have to unplug and re-plug the | 
					
						
							|  |  |  |     N900 to reload the driver with its configuration accordingly. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section2 Setting Up MADDE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     After having downloaded the MADDE installer file for your platform from | 
					
						
							|  |  |  |     \l{http://wiki.maemo.org/MADDE}{here}, execute it and follow the | 
					
						
							|  |  |  |     instructions. The package will be installed. Then run: | 
					
						
							|  |  |  |     \c{mad-admin list targets} to see which targets are available. | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Install the targets that starts with "fremantle" by using the command: | 
					
						
							|  |  |  |     \c{mad-admin create fremantle-qt-xxx} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     When you have installed the target, you have a toolchain and a sysroot | 
					
						
							|  |  |  |     environment for cross-compiling | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section1 Setting Up Qt Creator | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     Set up the Qt Creator for developing Maemo applications by following the | 
					
						
							|  |  |  |     steps mentioned below: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |     \list 1 | 
					
						
							|  |  |  |         \o  \bold{Registering the MADDE Toolchain} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             Select \gui Tools > \gui Options > \gui Qt4 > \gui{Qt Versions}. | 
					
						
							|  |  |  |             Click \inlineimage qtcreator-windows-add.png, | 
					
						
							|  |  |  |             to add a new Qt version. The \gui{qmake Location} is the qmake | 
					
						
							|  |  |  |             executable in \c{<MADDE dir>/targets/<fremantle target>/bin}. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             \image qtcreator-screenshot-toolchain.png | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o  \bold{Creating a Device Configuration} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             In order to deploy applications and run them remotely, Qt Creator | 
					
						
							|  |  |  |             needs parameters for device access which you can set in device | 
					
						
							|  |  |  |             configurations. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             Select \gui Tools > \gui Options > \gui Qt4 > | 
					
						
							|  |  |  |             \gui{Maemo Device Configurations} and add a new configuration. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             \image qtcreator-screenshot-devconf.png | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             \note The password is the one MADDE Developer displays on the | 
					
						
							|  |  |  |             device. Click \gui Test to check whether the device can be accessed | 
					
						
							|  |  |  |             properly. It is recommended that you use the password-based login | 
					
						
							|  |  |  |             only to deploy your public SSH key to the device | 
					
						
							|  |  |  |             (using the \gui{Deploy Key} button) and then switch to key-based | 
					
						
							|  |  |  |             authentication. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             Close the dialog by clicking the \gui OK button after completion. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o  \bold{Setting Build and Run Configuration} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             Open a project for an application you want to develop for your | 
					
						
							|  |  |  |             N900. Click \gui Projects to open the projects mode. In the | 
					
						
							|  |  |  |             \gui{Build Settings} section, choose the MADDE Qt version which you | 
					
						
							|  |  |  |             registered earlier: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             \image qtcreator-screenshot-build-settings.png | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             In the \gui{Run Settings} section, click \gui Add to add a new | 
					
						
							|  |  |  |             run configuration on the Maemo device. Set a name and select the | 
					
						
							|  |  |  |             device configuration you created above in the popup menu. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             The following screenshot shows the result below: | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             \image qtcreator-screenshot-run-settings.png | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |         \o  \bold{Compiling, Running and Debugging Your Application} | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             You can now continue your work as if developing for any | 
					
						
							|  |  |  |             other platform supported by Qt Creator: for compiling, Qt Creator | 
					
						
							|  |  |  |             will use the MADDE toolchain's cross compiler. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             When you run your application, it is automatically copied onto | 
					
						
							|  |  |  |             the device and executed there. Your application's windows will be | 
					
						
							|  |  |  |             displayed on the N900 and command-line output is visible in Qt | 
					
						
							|  |  |  |             Creator's "Application output" window. | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-17 19:51:26 +05:30
										 |  |  |             Debugging also works transparently. | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-developing-maemo.html | 
					
						
							|  |  |  |     \page creator-developing-symbian.html | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \nextpage creator-debugging.html | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Developing Symbian Applications | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator 1.3 comes with preliminary support for development of | 
					
						
							|  |  |  |     applications using Qt for the Symbian Platform. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \e{Note that this is highly experimental, and not intended for production use. | 
					
						
							|  |  |  |     The primary aim is to allow Symbian developers to familiarize themselves with Qt Creator | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     and provide feedback that helps us improve Symbian support in future versions of | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     Qt Creator.} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Please provide us with feedback, using the mailing list or IRC, as described on the | 
					
						
							|  |  |  |     \l{http://qt.gitorious.org/qt-creator/pages/Home}{Qt Creator Development Wiki}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Getting Started with Symbian Based Applications | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     You need the following software installed on your PC. | 
					
						
							|  |  |  |     Only Windows development is supported. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/S60SDK/} | 
					
						
							|  |  |  |             {S60 Platform SDK 3rd Edition FP1 or higher} | 
					
						
							|  |  |  |         \o \l{http://www.forum.nokia.com/main/resources/technologies/openc_cpp/} | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             {Open C/C++ v1.6.0 or higher} (Install this to all S60 SDKs you plan to use Qt with. | 
					
						
							|  |  |  |             This is included in the Qt for Symbian binary installers.) | 
					
						
							|  |  |  |         \o Either the GCCE ARM Toolchain that is included in the S60 Platform SDKs, or | 
					
						
							|  |  |  |             RVCT 2.2 [build 686] or later (which is not available free of charge) | 
					
						
							|  |  |  |             (Your environment needs to find the compiler in the PATH.) | 
					
						
							|  |  |  |         \o Qt for Symbian 4.6.0, installed into the S60 SDKs you want to use | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     For deploying and running applications on the device, you need the following: | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     \list | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o The Nokia USB drivers that come e.g. with PC Suite | 
					
						
							|  |  |  |         \o The \l{http://tools.ext.nokia.com/trk/}{App TRK} application for your device | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Running Qt based applications on real devices requires the following packages to be installed on | 
					
						
							|  |  |  |     your device. The packages can be found in the S60 SDK where you installed Open C/C++: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o nokia_plugin\\openc\\s60opencsis\\pips_s60_\<version\>.sis | 
					
						
							|  |  |  |         \o nokia_plugin\\openc\\s60opencsis\\openc_ssl_s60_\<version\>.sis | 
					
						
							|  |  |  |         \o nokia_plugin\\opencpp\\s60opencppsis\\stdcpp_s60_\<version\>.sis | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     If you want to run your applications in the Symbian emulator, you also need to install | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     Carbide.c++ v2.0.0 or higher. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Setting Up Qt Creator | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     When you run Qt Creator after installing the S60 Platform SDK and Qt for Symbian, | 
					
						
							|  |  |  |     the installed SDKs and their corresponding Qt versions are automatically detected. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     For each detected S60 SDK with Qt, a special entry is made in the Qt version management | 
					
						
							|  |  |  |     settings \gui{Tools > Options... > Qt4 > Qt Versions}. | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-12 18:42:08 +01:00
										 |  |  |     \e{Note that if you manually add a Qt version for Symbian, you must | 
					
						
							|  |  |  |     also manually specify the S60 SDK to use for this version.} | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-qt4-qtversions-win-symbian.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     If you want to run your applications in the Symbian emulator, you need to point Qt Creator | 
					
						
							| 
									
										
										
										
											2009-11-12 18:42:08 +01:00
										 |  |  |     to the Metrowerks Compiler that you want to use, by setting the \gui{Carbide Directory} | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     of the Qt version to the corresponding Carbide.c++ installation directory. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     You can check what S60 SDKs and corresponding Qt versions are found in the | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \gui{Tools > Options... > Qt4 > S60 SDKs} preference page. | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-qt4-s60sdks.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Building Your Project | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     After installing all the prerequisites and checking the setup in Qt Creator as described | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     above, you need to set up your project. | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     \e{Note that the only supported build system for Qt for Symbian applications in Qt Creator | 
					
						
							|  |  |  |     is qmake.} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     Before you can build your project for the Symbian platform, you need to create build | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     configurations for it. | 
					
						
							|  |  |  |     Open \gui{Projects mode} and make sure that your project is selected for editing in | 
					
						
							|  |  |  |     \gui{Edit Project Settings for Project ...}. Add debug and release build configurations | 
					
						
							|  |  |  |     for the Symbian target by selecting the corresponding Qt version from the build configuration | 
					
						
							|  |  |  |     \gui{Add} menu. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-symbian-add-buildconfiguration.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The created build configurations default to using the GCCE tool chain. If you want to build | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     for the device using RVCT, or for the Symbian emulator using WINSCW, select \gui{Show Details} | 
					
						
							|  |  |  |     and change the tool chain in the \gui{General} section of the build configuration settings. | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Now you can switch to building your project for the device by selecting one of the | 
					
						
							|  |  |  |     new build configurations as the active configuration at the top of \gui{Projects mode}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-symbian-change-buildconfiguration.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section1 Running Your Project | 
					
						
							| 
									
										
										
										
											2009-11-13 10:57:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section2 Running Your Project in the Emulator | 
					
						
							| 
									
										
										
										
											2009-11-13 10:57:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     Similar to the build configuration setup for your project, you need to create a run | 
					
						
							|  |  |  |     configuration for running your project in the Symbian emulator: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Switch to \gui{Projects mode}. | 
					
						
							|  |  |  |         \o Select \gui{Run Settings} > \gui{Add > YourApplication in Symbian Emulator} | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-11-13 10:57:53 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-symbian-add-run-in-emulator.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     To start your project in the emulator, select this run configuration as the active configuration | 
					
						
							|  |  |  |     at the top of \gui{Projects mode} window and press the run button. | 
					
						
							| 
									
										
										
										
											2009-11-13 10:57:53 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-symbian-change-run-in-emulator.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \section2 Running Your Project on the Device | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-13 10:57:53 +01:00
										 |  |  |     To run your project on a real Symbian device, just add another run configuration in | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \gui{Projects mode} via \gui{Run Settings} > \gui{Add > YourApplication on Symbian Device}. | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-symbian-add-runconfiguration.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-symbian-details-runconfiguration.png | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     In the details of the run configuration you can specify a certificate to use, and | 
					
						
							|  |  |  |     select one of the devices that you have currently attached to your computer. | 
					
						
							|  |  |  |     The only connection mode supported at the moment is USB in \e{PC Suite} mode. | 
					
						
							|  |  |  |     For actually running your application on the device, you need to set the device run configuration | 
					
						
							|  |  |  |     as the active configuration at the top of \gui{Projects mode}. | 
					
						
							|  |  |  |     Start the \gui{App TRK} application on your device and press the run button to create | 
					
						
							|  |  |  |     a package for your application, deploy, install and run it automatically on your device. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \image qtcreator-symbian-change-runconfiguration.png | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-13 10:57:53 +01:00
										 |  |  |     \section2 Troubleshooting | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     If you cannot build the application, check if: | 
					
						
							|  |  |  |      \list | 
					
						
							|  |  |  |         \o You selected a Qt version for Symbian for building the application. | 
					
						
							|  |  |  |         \o The settings for the Qt version you use to build your project are | 
					
						
							|  |  |  |            correct. The path to the S60 SDK must point to the S60 SDK | 
					
						
							|  |  |  |            installation directory.  Select \gui Tools > \gui Options... | 
					
						
							|  |  |  |            > \gui Debugger > \gui{Symbian TRK} and check if it points to the | 
					
						
							|  |  |  |            debugger toolchain. | 
					
						
							|  |  |  |      \endlist | 
					
						
							|  |  |  |     If you cannot run the application in the emulator, check if: | 
					
						
							|  |  |  |      \list | 
					
						
							|  |  |  |         \o The emulator or device run configuration selected is in the active | 
					
						
							|  |  |  |            run configuration. | 
					
						
							|  |  |  |         \o You built the application for the emulator by using  WINSCW  or for | 
					
						
							|  |  |  |            the device by using GCCE or RVCT. | 
					
						
							|  |  |  |         \o The emulator process cannot be started, try closing Qt Creator and | 
					
						
							|  |  |  |            starting the application directly from your file manager. Having | 
					
						
							|  |  |  |            done this, Qt Creator should be able to run your projects in the | 
					
						
							|  |  |  |            emulator. | 
					
						
							|  |  |  |      \endlist | 
					
						
							|  |  |  |     If you cannot run the application on a device, check if: | 
					
						
							|  |  |  |      \list | 
					
						
							|  |  |  |         \o The device is connected via USB in \e{PC Suite} mode. | 
					
						
							|  |  |  |         \o App TRK is running on the device, using the USB connection, with the | 
					
						
							|  |  |  |            status \e connected. | 
					
						
							|  |  |  |         \o The device is detected and selected in the run configuration | 
					
						
							|  |  |  |            details. | 
					
						
							|  |  |  |      \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     If this does not help to solve your problem, search the qt-creator@trolltech.com | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     mailing list archives or provide feedback to us via the methods described on the | 
					
						
							| 
									
										
										
										
											2009-10-09 18:47:06 +02:00
										 |  |  |     \l{http://qt.gitorious.org/qt-creator/pages/Home}{Qt Creator Development Wiki}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-version-control.html | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |     \page adding-plugins.html | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \nextpage creator-tips.html | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-01 14:42:51 +01:00
										 |  |  |     \title Adding Qt Designer Plugins | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-01 14:42:51 +01:00
										 |  |  |      You can use Qt APIs to create plugins that extend Qt applications. | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      This allows you to add your own widgets to \QD. | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |      The most flexible way to include a plugin with an application is to compile it | 
					
						
							|  |  |  |      into a dynamic library that is shipped separately, and detected and loaded at runtime. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      The applications can detect plugins that are stored in the standard plugin | 
					
						
							| 
									
										
										
										
											2010-03-01 14:42:51 +01:00
										 |  |  |      subdirectories. For more information on how to create and locate plugins and to | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |      change the default plugin path, see \l{How to Create Qt Plugins}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      For more information about how to create plugins for \QD, see | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |      \l{http://doc.trolltech.com/4.6/designer-using-custom-widgets.html}{Creating and Using Components for Qt Designer}. | 
					
						
							| 
									
										
										
										
											2010-03-01 14:42:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |     \section1 Locating Qt Designer Plugins | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      \QD fetches plugins from the standard locations and loads the plugins | 
					
						
							|  |  |  |      that match its build key. \QD is delivered both as a standalone application | 
					
						
							| 
									
										
										
										
											2010-03-05 12:50:58 +01:00
										 |  |  |      and as part of an SDK, where it is integrated into Qt Creator. | 
					
						
							|  |  |  |      The correct folder to place the plugins depends on | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |      which one you use. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      The integrated \QD fetches plugins from the \c {%SDK%\bin\designer} folder on Windows | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |      and Linux and \c {QtCreator.app/Contents/MacOS/designer} folder on Mac. To check which plugins | 
					
						
							|  |  |  |      were loaded successfully and which failed, choose \gui{Tools > Form Editor > | 
					
						
							|  |  |  |      About Qt Designer Plugins}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      The standalone \QD is part of the Qt library used for building projects, | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |      located under \c {%SDK%\qt}. Therefore, it fetches plugins from the following folder: | 
					
						
							|  |  |  |      \c {%SDK%\qt\plugins\designer}. To check which plugins were loaded successfully and which | 
					
						
							|  |  |  |      failed, choose \gui{Help > About Plugins}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      \section1 Matching Build Keys | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      The Qt Creator that is included in pre-built SDK packages on Windows is built with the | 
					
						
							|  |  |  |      Microsoft Visual Studio compiler, whereas the version of Qt shipped for building applications | 
					
						
							|  |  |  |      is configured and built to use the MinGW/g++ compiler. Plugins built by using this version of | 
					
						
							|  |  |  |      Qt cannot be loaded by Qt Creator because the build-keys do not match. The plugins can only be | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      used in the standalone version of \QD. Choose \gui{Help > About Qt Creator} to check | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |      the Qt version Qt Creator was built with. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |      To use \QD plugins that were built for the shipped Qt version, make sure that | 
					
						
							| 
									
										
										
										
											2010-02-25 14:46:29 +01:00
										 |  |  |      Qt Creator is built with the same compiler by either recompiling Qt Creator using MinGW or | 
					
						
							|  |  |  |      recompiling Qt with Microsoft Visual Studio, depending on which configuration you want to | 
					
						
							|  |  |  |      use for your applications. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-03-11 14:08:30 +01:00
										 |  |  |     \previouspage adding-plugins.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \page creator-tips.html | 
					
						
							|  |  |  |     \nextpage creator-keyboard-shortcuts.html | 
					
						
							| 
									
										
										
										
											2009-05-06 16:22:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \title Tips and Tricks | 
					
						
							| 
									
										
										
										
											2009-05-06 16:22:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-13 18:00:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Switching between modes | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Qt Creator uses different modes for different purposes. You can quickly | 
					
						
							|  |  |  |     switch between these modes with the following keyboard shortcuts: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o \gui Welcome mode \key Ctrl+1 | 
					
						
							|  |  |  |         \o \gui Edit mode \key Ctrl+2 | 
					
						
							| 
									
										
										
										
											2010-03-18 12:20:27 +05:30
										 |  |  |         \o \gui Design mode \key Ctrl+3 | 
					
						
							|  |  |  |         \o \gui Debug mode \key Ctrl+4 | 
					
						
							|  |  |  |         \o \gui Projects mode \key Ctrl+5 | 
					
						
							|  |  |  |         \o \gui Help mode \key Ctrl+6 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-05-13 18:00:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |     For more information about Qt Creator modes, see \l {Qt Creator Modes}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-06 16:22:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Moving Between Open Files | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To quickly move between currently open files, press | 
					
						
							|  |  |  |     \key Ctrl+Tab. | 
					
						
							| 
									
										
										
										
											2009-05-13 18:00:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-06 16:22:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Moving To the Edit Mode | 
					
						
							| 
									
										
										
										
											2009-08-03 15:58:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To move to the \gui Edit mode and currently active file, press | 
					
						
							|  |  |  |     \key Esc. | 
					
						
							| 
									
										
										
										
											2009-08-03 15:58:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     If you already are in the \gui Edit mode: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o The first press moves focus to the editor | 
					
						
							|  |  |  |         \o The second press closes secondary windows | 
					
						
							|  |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |     \section1 Using the Filter in Options Dialog | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To find specific settings you require in \gui{Tools} > \gui{Options} | 
					
						
							|  |  |  |     use the filter located at the top left of the Options dialog box. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-06 16:22:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Using Keyboard Shortcuts | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     Qt Creator provides \l{Keyboard Shortcuts}{many useful keyboard shortcuts}. | 
					
						
							| 
									
										
										
										
											2009-05-06 16:22:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To customize, import or export keyboard shortcuts, select \gui Tools > | 
					
						
							|  |  |  |     \gui Options... > \gui Environment > \gui Keyboard. | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Running Qt Creator From Command Line | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     You can launch Qt Creator from command line using the name of an | 
					
						
							|  |  |  |     existing session or \c .pro file by giving the name as the command | 
					
						
							|  |  |  |     argument. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     For example, running \tt{qtcreator somesession}, launches Qt Creator and | 
					
						
							|  |  |  |     loads session somesession. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \note Make sure Qt Creator is included in the PATH environment variable. | 
					
						
							|  |  |  |     This can be done by typing the following in the command line: | 
					
						
							|  |  |  |     \code | 
					
						
							|  |  |  |     set PATH=c:\qtsdk\mingw\bin;c:\qtsdk\qt\bin;%PATH% | 
					
						
							|  |  |  |     \endcode | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Showing and Hiding the Sidebar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To toggle the sidebar in the \gui Edit and \gui Debug modes, click | 
					
						
							|  |  |  |     \inlineimage qtcreator-togglebutton.png | 
					
						
							|  |  |  |     or press \key Alt+0 (\key Cmd+0 on Mac OS X). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-10 12:28:05 +01:00
										 |  |  |     For more information on using the sidebar, see \l {Browsing Project Contents}. | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Moving To Symbols | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     To move straight to a symbol used in a project, select the symbol in the | 
					
						
							|  |  |  |     \gui Editor toolbar drop-down menu. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     For more information on the editor toolbar, | 
					
						
							| 
									
										
										
										
											2010-02-25 16:33:38 +05:30
										 |  |  |     see \l {Using the Editor Toolbar}. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \section1 Displaying Signals and Slots | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     If an instance of a class is derived from QObject, and you would like to | 
					
						
							|  |  |  |     find all other objects connected to one of your object's slots using | 
					
						
							|  |  |  |     Qt's signals and slots mechanism, select \gui Tools > \gui Options... | 
					
						
							|  |  |  |     > \gui{Debugging Helper} > \gui{Use Debugging Helper}. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-05 15:24:45 +01:00
										 |  |  |     In the \gui{Locals and Watchers} view, expand the object's entry and open | 
					
						
							|  |  |  |     the slot in the \e slots subitem. The objects connected to this slot are | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     shown as children of the slot. This method works with signals too. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section1 Displaying Low Level Data | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-30 14:25:06 +02:00
										 |  |  |     If special debugging of Qt objects fails due to data corruption within the | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     debugged objects, you can switch off the debugging helpers. When debugging | 
					
						
							|  |  |  |     helpers are switched off low-level structures become visible. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To switch off the debugging helpers: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui Tools > \gui Options... > \gui Debugger > | 
					
						
							|  |  |  |            \gui{Debugging Helper}. | 
					
						
							|  |  |  |         \o Uncheck the \gui{Use debugging helper} checkbox. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 15:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							|  |  |  |     \previouspage creator-tips.html | 
					
						
							|  |  |  |     \page creator-keyboard-shortcuts.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \nextpage creator-known-issues.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \title Keyboard Shortcuts | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     Qt Creator provides various keyboard shortcuts to speed up your development | 
					
						
							|  |  |  |     process. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Configuring Keyboard Shortcuts | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     To customize a keyboard shortcut: | 
					
						
							|  |  |  |     \list 1 | 
					
						
							|  |  |  |         \o Select \gui Tools > \gui Options > \gui Environment > | 
					
						
							|  |  |  |            \gui Keyboard. | 
					
						
							|  |  |  |         \o Select an action from the list. | 
					
						
							|  |  |  |         \o In \gui{Key Sequence} enter the shortcut key you want to associate | 
					
						
							|  |  |  |            with the selected action. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator allows you to use different keyboard shortcut mapping schemes: | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |         \o To import a keyboard shortcut mapping scheme, click \gui Import | 
					
						
							|  |  |  |            and select the kms file containing keyboard shortcut mapping scheme | 
					
						
							|  |  |  |            you want to import. | 
					
						
							|  |  |  |         \o To export the current keyboard shortcut mapping scheme, click | 
					
						
							|  |  |  |            \gui Export and select the location where you want to save the | 
					
						
							|  |  |  |            exported kms file. | 
					
						
							|  |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Default Keyboard Shortcuts | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     The following tables list the default keyboard shortcuts. They are | 
					
						
							|  |  |  |     categorized by actions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 General Keyboard Shortcuts | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Action | 
					
						
							|  |  |  |             \o Keyboard shortcut | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Open file or project | 
					
						
							|  |  |  |             \o Ctrl+O | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o New file or project | 
					
						
							|  |  |  |             \o Ctrl+N | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Open in external editor | 
					
						
							|  |  |  |             \o Alt+V, Alt+I | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Cut | 
					
						
							|  |  |  |             \o Ctrl+X | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Copy | 
					
						
							|  |  |  |             \o Ctrl+C | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Paste | 
					
						
							|  |  |  |             \o Ctrl+V | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Redo | 
					
						
							|  |  |  |             \o Ctrl+Y | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Save | 
					
						
							|  |  |  |             \o Ctrl+S | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Save all | 
					
						
							|  |  |  |             \o Ctrl+A | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Close window | 
					
						
							|  |  |  |             \o Ctrl+W | 
					
						
							| 
									
										
										
										
											2009-05-06 17:09:27 +02:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Close all | 
					
						
							|  |  |  |             \o Ctrl+Shift+W | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Go back | 
					
						
							|  |  |  |             \o Alt+Left | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Go forward | 
					
						
							|  |  |  |             \o Alt+Right | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Go to line | 
					
						
							|  |  |  |             \o Ctrl+L | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Next open document in history | 
					
						
							|  |  |  |             \o Ctrl+Shift+Tab | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Goto other split | 
					
						
							|  |  |  |             \o Ctrl+E, O | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Previous open document in history | 
					
						
							|  |  |  |             \o Ctrl+Tab | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate \gui Locator | 
					
						
							|  |  |  |             \o Ctrl+K | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Switch to \gui Welcome mode | 
					
						
							|  |  |  |             \o Ctrl+1 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Switch to \gui Edit mode | 
					
						
							|  |  |  |             \o Ctrl+2 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Switch to \gui Debug mode | 
					
						
							|  |  |  |             \o Ctrl+3 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Switch to \gui Projects mode | 
					
						
							|  |  |  |             \o Ctrl+4 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Switch to \gui Help mode | 
					
						
							|  |  |  |             \o Ctrl+5 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Switch to \gui Output mode | 
					
						
							|  |  |  |             \o Ctrl+6 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2008-12-12 21:50:29 +01:00
										 |  |  |             \o Toggle \gui{Build Issues} pane | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Alt+1 (Cmd+1 on Mac OS X) | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2008-12-12 21:50:29 +01:00
										 |  |  |             \o Toggle \gui{Search Results} pane | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Alt+2 (Cmd+2 on Mac OS X) | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2008-12-12 22:05:38 +01:00
										 |  |  |             \o Toggle \gui{Application Output} pane | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Alt+3 (Cmd+3 on Mac OS X) | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2008-12-12 21:50:29 +01:00
										 |  |  |             \o Toggle \gui{Compile Output} pane | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Alt+4 (Cmd+4 on Mac OS X) | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate \gui Bookmarks pane | 
					
						
							|  |  |  |             \o Alt+M | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate \gui{File System} pane | 
					
						
							|  |  |  |             \o Alt+Y | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate \gui{Open Documents} pane | 
					
						
							|  |  |  |             \o Alt+O | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate \gui Projects pane | 
					
						
							|  |  |  |             \o Alt+X | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Full screen | 
					
						
							|  |  |  |             \o Ctrl+Shift+F11 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Toggle the sidebar | 
					
						
							|  |  |  |             \o Alt+0 (Cmd+0 on Mac OS X) | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Undo | 
					
						
							|  |  |  |             \o Ctrl+Z | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Move to \gui Edit mode | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                In \gui Edit mode: | 
					
						
							|  |  |  |                \list | 
					
						
							|  |  |  |                 \o The first press moves focus to the editor | 
					
						
							|  |  |  |                 \o The second press closes secondary windows | 
					
						
							|  |  |  |                \endlist | 
					
						
							|  |  |  |             \o Esc | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endtable | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section2 Editing Keyboard Shortcuts | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \header | 
					
						
							|  |  |  |             \o Action | 
					
						
							|  |  |  |             \o Keyboard shortcut | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Auto-indent selection | 
					
						
							|  |  |  |             \o Ctrl+I | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Collapse | 
					
						
							|  |  |  |             \o Ctrl+< | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Expand | 
					
						
							|  |  |  |             \o Ctrl+> | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Trigger a completion in this scope | 
					
						
							|  |  |  |             \o Ctrl+Space | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Copy line down | 
					
						
							|  |  |  |             \o Ctrl+Alt+Down | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Copy line up | 
					
						
							|  |  |  |             \o Ctrl+Alt+Up | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Cut line | 
					
						
							|  |  |  |             \o Shift+Del | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Decrease font size | 
					
						
							|  |  |  |             \o Ctrl+- (Ctrl+Roll mouse wheel down) | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Increase font size | 
					
						
							|  |  |  |             \o Ctrl++ (Ctrl+Roll mouse wheel up) | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Toggle vim-style editing | 
					
						
							|  |  |  |             \o Alt+V, Alt+V | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Split | 
					
						
							|  |  |  |             \o Ctrl+E, 2 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Split side by side | 
					
						
							|  |  |  |             \o Ctrl+E, 3 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Remove all splits | 
					
						
							|  |  |  |             \o Ctrl+E, 1 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Remove current split | 
					
						
							|  |  |  |             \o Ctrl+E, 0 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Select all | 
					
						
							|  |  |  |             \o Ctrl+A | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Go to block end | 
					
						
							|  |  |  |             \o Ctrl+] | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Go to block start | 
					
						
							|  |  |  |             \o Ctrl+[ | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Go to block end with selection | 
					
						
							|  |  |  |             \o Ctrl+} | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Go to block start with selection | 
					
						
							|  |  |  |             \o Ctrl+{ | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Move current line down | 
					
						
							|  |  |  |             \o Ctrl+Shift+Down | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Move current line up | 
					
						
							|  |  |  |             \o Ctrl+Shift+Up | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Trigger a quick fix in this scope | 
					
						
							|  |  |  |             \o Alt+Return | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Rewrap paragraph | 
					
						
							|  |  |  |             \o Ctrl+E, R | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Select the current block | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |                The second press extends the selection to the parent block | 
					
						
							|  |  |  |             \o Ctrl+U | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Enable text wrapping | 
					
						
							|  |  |  |             \o Ctrl+E, Ctrl+W | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Toggle comment for selection | 
					
						
							|  |  |  |             \o Ctrl+/ | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Visualize whitespace | 
					
						
							|  |  |  |             \o Ctrl+E, Ctrl+V | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Delete | 
					
						
							|  |  |  |             \o Del | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Adjust size | 
					
						
							|  |  |  |             \o Ctrl+J | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Lay out in a grid | 
					
						
							|  |  |  |             \o Ctrl+G | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Lay out horizontally | 
					
						
							|  |  |  |             \o Ctrl+H | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Lay out vertically | 
					
						
							|  |  |  |             \o Ctrl+L | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Preview | 
					
						
							|  |  |  |             \o Ctrl+Alt+R | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Edit signals and slots | 
					
						
							|  |  |  |             \o F4 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Edit widgets | 
					
						
							|  |  |  |             \o F3 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Toggle bookmark | 
					
						
							|  |  |  |             \o Ctrl+M | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Go to next bookmark | 
					
						
							|  |  |  |             \o Ctrl+. | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Go to previous bookmark | 
					
						
							|  |  |  |             \o Ctrl+, | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Fetch snippet | 
					
						
							|  |  |  |             \o Alt+C, Alt+F | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Paste snippet | 
					
						
							|  |  |  |             \o Alt+C, Alt+P | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Find usages | 
					
						
							|  |  |  |             \o Ctrl+Shift+U | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Follow symbol under cursor | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |                Works with namespaces, classes, methods, variables, include | 
					
						
							|  |  |  |                statements and macros | 
					
						
							|  |  |  |             \o F2 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Rename symbol under cursor | 
					
						
							|  |  |  |             \o Ctrl+Shift+R | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Switch between method declaration and definition | 
					
						
							|  |  |  |             \o Shift+F2 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Switch between header and source file | 
					
						
							|  |  |  |             \o F4 | 
					
						
							|  |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Debugging Keyboard Shortcuts | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							|  |  |  |             \o Action | 
					
						
							|  |  |  |             \o Keyboard shortcut | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Start debugging | 
					
						
							|  |  |  |             \o F5 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Stop or interrupt debugger | 
					
						
							|  |  |  |             \o Shift+F5 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Reset debugger | 
					
						
							|  |  |  |             \o Ctrl+Shift+F5 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Step over | 
					
						
							|  |  |  |             \o F10 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Step into | 
					
						
							|  |  |  |             \o F11 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Step out | 
					
						
							|  |  |  |             \o Shift+F11 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Toggle breakpoint | 
					
						
							|  |  |  |             \o F9 | 
					
						
							|  |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section2 Project Keyboard Shortcuts | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							|  |  |  |             \o Action | 
					
						
							|  |  |  |             \o Keyboard shortcut | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Build project | 
					
						
							|  |  |  |             \o Ctrl+B | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \row | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |             \o Build all | 
					
						
							|  |  |  |             \o Ctrl+Shift+B | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o New project | 
					
						
							|  |  |  |             \o Ctrl+Shift+N | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Run | 
					
						
							|  |  |  |             \o Ctrl+R | 
					
						
							|  |  |  |     \endtable | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section2 Help Keyboard Shortcuts | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							|  |  |  |             \o Action | 
					
						
							|  |  |  |             \o Keyboard shortcut | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o View context-sensitive help | 
					
						
							|  |  |  |             \o F1 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate contents in \gui Help mode | 
					
						
							|  |  |  |             \o Ctrl+T | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Add bookmark in \gui Help mode | 
					
						
							|  |  |  |             \o Ctrl+M | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate index in \gui Help mode | 
					
						
							|  |  |  |             \o Ctrl+I | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Reset font size in \gui Help mode | 
					
						
							|  |  |  |             \o Ctrl+0 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Activate search in \gui Help mode | 
					
						
							|  |  |  |             \o Ctrl+S | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section2 Version Control Keyboard Shortcuts | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							| 
									
										
										
										
											2010-03-04 12:42:14 +05:30
										 |  |  |             \o {1,2} Action | 
					
						
							|  |  |  |             \o {4,1} Version control system | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |         \header | 
					
						
							|  |  |  |             \o CVS | 
					
						
							|  |  |  |             \o Git | 
					
						
							|  |  |  |             \o Perforce | 
					
						
							|  |  |  |             \o Subversion | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Add | 
					
						
							|  |  |  |             \o Alt+C, Alt+A | 
					
						
							|  |  |  |             \o Alt+G, Alt+A | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+S, Alt+A | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Commit | 
					
						
							|  |  |  |             \o Alt+C, Alt+C | 
					
						
							|  |  |  |             \o Alt+G, Alt+C | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Diff | 
					
						
							|  |  |  |             \o Alt+C, Alt+D | 
					
						
							|  |  |  |             \o Alt+G, Alt+D | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+S, Alt+D | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Diff project | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+G, Alt+Shift+D | 
					
						
							|  |  |  |             \o Alt+P, Alt+D | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Blame | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+G, Alt+B | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Log | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+G, Alt+L | 
					
						
							|  |  |  |             \o Alt+P, Alt+F | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Log project | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+G, Alt+K | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Status | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+G, Alt+S | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Undo changes | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+G, Alt+U | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Diff project | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+G, Alt+Shift+D | 
					
						
							|  |  |  |             \o Alt+P, Alt+D | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Edit | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+P, Alt+E | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Opened | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+P, Alt+O | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Revert | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+P, Alt+R | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o Submit | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |             \o Alt+P, Alt+S | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |     \endtable | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 15:59:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-known-issues.html | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |     \page creator-glossary.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \nextpage creator-acknowledgements.html | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \title Glossary | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \table | 
					
						
							|  |  |  |         \header | 
					
						
							|  |  |  |             \o  Term | 
					
						
							|  |  |  |             \o  Meaning | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |                 \raw HTML | 
					
						
							| 
									
										
										
										
											2009-11-12 18:42:08 +01:00
										 |  |  |                 Qt in PATH | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |                 \endraw | 
					
						
							|  |  |  |                 \target glossary-system-qt | 
					
						
							| 
									
										
										
										
											2009-11-12 18:42:08 +01:00
										 |  |  |             \o  This is the Qt | 
					
						
							|  |  |  |                 version for the \c qmake command found in your \c PATH | 
					
						
							| 
									
										
										
										
											2009-11-23 12:55:07 +01:00
										 |  |  |                 environment variable. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                 This is likely to be the system's Qt version. | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |                 \raw HTML | 
					
						
							|  |  |  |                 Default Qt | 
					
						
							|  |  |  |                 \endraw | 
					
						
							|  |  |  |                 \target glossary-default-qt | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  The version of Qt configured in \gui{Tools > Options... > Qt 4 | 
					
						
							|  |  |  |                 > Default Qt Version}. This is the Qt version used by your | 
					
						
							|  |  |  |                 new projects. It defaults to the Qt in PATH. | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |                 \raw HTML | 
					
						
							|  |  |  |                 Project Qt | 
					
						
							|  |  |  |                 \endraw | 
					
						
							|  |  |  |                 \target glossary-project-qt | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |             \o  The version of Qt configured in \gui{Build&Run > Build | 
					
						
							|  |  |  |                 Settings > Build Configurations}. This is the Qt version that | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |                 is actually used by a particular project. It defaults to | 
					
						
							|  |  |  |                 Default Qt. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \row | 
					
						
							|  |  |  |             \o | 
					
						
							|  |  |  |                 \raw HTML | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |                 Shadow build | 
					
						
							| 
									
										
										
										
											2009-02-27 11:59:45 +01:00
										 |  |  |                 \endraw | 
					
						
							|  |  |  |                 \target glossary-shadow-build | 
					
						
							|  |  |  |             \o  Shadow building means building a project in a separate | 
					
						
							|  |  |  |                 directory, the \e{build directory}. The build directory is | 
					
						
							|  |  |  |                 different from the source directory. One of the benefits of | 
					
						
							|  |  |  |                 shadow building is that it keeps your source directory clean. | 
					
						
							|  |  |  |                 Shadow building is the best practice if you need many build | 
					
						
							|  |  |  |                 configurations for a single set of source. | 
					
						
							|  |  |  |     \endtable | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-keyboard-shortcuts.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \page creator-known-issues.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \nextpage creator-glossary.html | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-28 15:48:16 +02:00
										 |  |  |     \title Known Issues | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     There are some known issues with Qt Creator. | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |     The development team is aware of them, there is no need to report them as bugs. | 
					
						
							| 
									
										
										
										
											2009-05-28 15:48:16 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-01 17:57:37 +01:00
										 |  |  |     \section1 Known Issues of Version 1.3.82 | 
					
						
							| 
									
										
										
										
											2009-05-28 15:31:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-09 17:44:43 +02:00
										 |  |  |     \list | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o Debugging Helper does not work while performing On-Device Debugging. | 
					
						
							| 
									
										
										
										
											2009-10-09 17:44:43 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o QML Preview (Run Project) only works if built against Qt with | 
					
						
							| 
									
										
										
										
											2009-10-09 17:44:43 +02:00
										 |  |  |            Declarative UI. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Setting breakpoints in code that is compiled into the binary more | 
					
						
							|  |  |  |            than once does not work. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o On Linux and Windows, installing Qt with one user account and | 
					
						
							| 
									
										
										
										
											2009-11-02 18:27:39 +01:00
										 |  |  |         then using it with another requires other users to manually set | 
					
						
							|  |  |  |         the Qt version. On Windows, setting the MinGW location is | 
					
						
							|  |  |  |         required as well. The same applies to the location of GDB for Symbian. | 
					
						
							|  |  |  |         A workaround is to copy %APPDATA%/Nokia/qtcreator.ini (Windows) or | 
					
						
							|  |  |  |         $HOME/.config/Nokia/QtCreator.ini (Linux) from the directory | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         of the user who installed Qt Creator to the other user. | 
					
						
							|  |  |  |         This issue does not exist on Mac OS X. | 
					
						
							| 
									
										
										
										
											2009-11-02 18:27:39 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-10-09 17:44:43 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \section1 Known Issues of Version 1.2.0 and 1.2.1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-28 15:31:12 +02:00
										 |  |  |     \list | 
					
						
							| 
									
										
										
										
											2009-05-28 15:48:16 +02:00
										 |  |  |         \o Gdb on Windows may not work if the 'Embassy \reg Security Center' software | 
					
						
							|  |  |  |            by 'Wave \reg Systems' is installed and active (causing crashes in \c{vxvault.dll)}). | 
					
						
							| 
									
										
										
										
											2009-06-17 15:59:32 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-28 15:48:16 +02:00
										 |  |  |         \o Only simple data types (POD) work in the Watch Window of CDB. | 
					
						
							| 
									
										
										
										
											2009-06-17 15:59:32 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \o Qt Creator uses SQLite for storing some of its settings. SQLite is | 
					
						
							|  |  |  |            known to have problems with certain NFS servers (most notably the | 
					
						
							|  |  |  |            nfs-user-server 2.2beta), since they can lock up the application | 
					
						
							|  |  |  |            when it tries to lock the database. If your home directory is on an | 
					
						
							|  |  |  |            NFS share and you encounter this issue, one option would be to | 
					
						
							|  |  |  |            switch to the nfs-kernel-server, or create a symlink so that the | 
					
						
							|  |  |  |            settings are stored locally. | 
					
						
							| 
									
										
										
										
											2009-05-28 15:31:12 +02:00
										 |  |  |     \endlist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-28 15:48:16 +02:00
										 |  |  |     \section1 Known Issues of Version 1.1.0 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o Paths or file names containing spaces or special characters, e.g., | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |            colons, dollar signs, hash marks etc. may cause problems. This | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |            is because some of the tools Qt Creator uses in the background have | 
					
						
							|  |  |  |            restrictions on the characters allowed in file and directory names. | 
					
						
							| 
									
										
										
										
											2009-02-04 14:15:13 +01:00
										 |  |  |            To be on the safe side, we recommend creating projects and project | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |            items with names consisting of plain characters, numbers, | 
					
						
							|  |  |  |            underscores, and hyphens. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o \c{.pro} files are reformatted if files have been added or removed. | 
					
						
							|  |  |  |            Whitespace is not preserved. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o There is no IDE support for adding files to include (\c .pri) files. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o There is no IDE support for adding/removing sub-projects. Project | 
					
						
							|  |  |  |            hierarchies (SUBDIRS template) have to be created manually. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o The file system sidebar does not update automatically. As a | 
					
						
							|  |  |  |            workaround, switch to another directory and then back. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o Loading KDE4 designer plugins breaks the style in KDE < 4.2.1 | 
					
						
							|  |  |  |            due to a bug in KDE. | 
					
						
							| 
									
										
										
										
											2008-12-17 16:33:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-16 17:01:25 +02:00
										 |  |  |         \o The DEFINES and INCLUDES set in \c{.pro} files are not dealt with | 
					
						
							|  |  |  |            on a file-specific level. Because of this, handling of DEFINES has | 
					
						
							|  |  |  |            been disabled completely. Also the \c{.qmake.cache} is not being | 
					
						
							|  |  |  |            parsed. In general, the \c{.pro} file parser is incomplete and | 
					
						
							|  |  |  |            problems are still to be expected. | 
					
						
							| 
									
										
										
										
											2008-12-17 16:33:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o Code completion for generated UI header files is updated only | 
					
						
							|  |  |  |            after a build. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o Code completion does not support typedefs for nested classes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         \o There is a kernel bug essentially making debugging unreliable on | 
					
						
							|  |  |  |            2.6.24 kernels for i386 (which is, unfortunately, the default on | 
					
						
							|  |  |  |            Ubuntu 8.04). See | 
					
						
							|  |  |  |            \l{https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/230315/} for | 
					
						
							|  |  |  |            details. The only solution to this problem is to boot another | 
					
						
							|  |  |  |            kernel. | 
					
						
							| 
									
										
										
										
											2009-02-27 10:32:10 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o Gdb may take long to load debugging symbols, especially from large | 
					
						
							|  |  |  |            libraries like \c libQtWebKit. Starting the debugging module can | 
					
						
							|  |  |  |            take up to several minutes without visible progress. | 
					
						
							| 
									
										
										
										
											2008-12-17 16:33:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-03 15:41:03 +01:00
										 |  |  |         \o Setting breakpoints in files that do not have unique absolute | 
					
						
							|  |  |  |            paths may fail. For example, remounting parts of a file system | 
					
						
							|  |  |  |            using the --bind mount option. | 
					
						
							| 
									
										
										
										
											2008-12-17 16:33:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  |         \o There is no syntax highlighting for \c CMake project files. | 
					
						
							| 
									
										
										
										
											2009-04-01 14:43:41 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         \o Project files included from \c{CMakeLists.txt} are not shown in the | 
					
						
							|  |  |  |            navigation tree. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o Using the Visual Studio Compiler with \c CMake is not supported. | 
					
						
							| 
									
										
										
										
											2009-04-01 14:43:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  |         \o Creating new \c CMake projects with Qt Creator is not supported. | 
					
						
							| 
									
										
										
										
											2009-04-01 14:43:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  |         \o Having more than one build directory for \c CMake is not supported. | 
					
						
							| 
									
										
										
										
											2009-04-01 14:43:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-01 17:48:05 +02:00
										 |  |  |         \o Changing the build directory for \c CMake after the initial import | 
					
						
							|  |  |  |            is disabled. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     \endlist | 
					
						
							| 
									
										
										
										
											2009-11-23 18:03:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-31 17:48:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-27 10:32:10 +01:00
										 |  |  | /*! | 
					
						
							|  |  |  |     \contentspage index.html | 
					
						
							| 
									
										
										
										
											2010-02-23 16:53:00 +01:00
										 |  |  |     \previouspage creator-glossary.html | 
					
						
							| 
									
										
										
										
											2009-02-27 10:32:10 +01:00
										 |  |  |     \page creator-acknowledgements.html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \title Acknowledgements | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \section1 Third-party Components | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Qt Creator contains the following third-party components: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \list | 
					
						
							|  |  |  |     \o  \bold{Open Source front-end for C++ (license MIT)}, enhanced for use in | 
					
						
							| 
									
										
										
										
											2009-02-27 12:00:39 +01:00
										 |  |  |         Qt Creator.\br | 
					
						
							|  |  |  |         Roberto Raggi <roberto.raggi@gmail.com>\br | 
					
						
							| 
									
										
										
										
											2010-01-13 12:30:31 +01:00
										 |  |  |         QtCreator/src/shared/cplusplus\br\br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     \o  \bold{Botan, a C++ crypto library. Version 1.8.8}\br | 
					
						
							|  |  |  |         \list | 
					
						
							|  |  |  |         \o  Copyright (C) 1999-2004 The Botan Project. All rights reserved. | 
					
						
							|  |  |  |         \o  Copyright (C) 1999-2009 Jack Lloyd | 
					
						
							|  |  |  |         \o  2001 Peter J Jones | 
					
						
							|  |  |  |         \o  2004-2007 Justin Karneges | 
					
						
							|  |  |  |         \o  2005 Matthew Gregan | 
					
						
							|  |  |  |         \o  2005-2006 Matt Johnston | 
					
						
							|  |  |  |         \o  2006 Luca Piccarreta | 
					
						
							|  |  |  |         \o  2007 Yves Jerschow | 
					
						
							|  |  |  |         \o  2007-2008 FlexSecure GmbH | 
					
						
							|  |  |  |         \o  2007-2008 Technische Universitat Darmstadt | 
					
						
							|  |  |  |         \o  2007-2008 Falko Strenzke | 
					
						
							|  |  |  |         \o  2007-2008 Martin Doering | 
					
						
							|  |  |  |         \o  2007 Manuel Hartl | 
					
						
							|  |  |  |         \o  2007 Christoph Ludwig | 
					
						
							|  |  |  |         \o  2007 Patrick Sona | 
					
						
							|  |  |  |         \endlist | 
					
						
							|  |  |  |         All rights reserved.\br\br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Redistribution and use in source and binary forms, with or without | 
					
						
							|  |  |  |         modification, are permitted provided that the following conditions are | 
					
						
							|  |  |  |         met:\br\br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         1. Redistributions of source code must retain the above copyright | 
					
						
							|  |  |  |         notice, this list of conditions, and the following disclaimer.\br\br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         2. 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.\br | 
					
						
							|  |  |  |         \br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) "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 AUTHOR(S) OR CONTRIBUTOR(S) 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.\br\br | 
					
						
							| 
									
										
										
										
											2010-01-20 12:14:28 +01:00
										 |  |  |         The source code of Botan C++ crypto library can be found | 
					
						
							|  |  |  |         here: | 
					
						
							|  |  |  |         \list | 
					
						
							|  |  |  |         \o QtCreator/src/libs/3rdparty | 
					
						
							|  |  |  |         \o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty} | 
					
						
							|  |  |  |         \endlist | 
					
						
							|  |  |  |         \br\br | 
					
						
							| 
									
										
										
										
											2010-01-13 12:30:31 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     \o  \bold{NetSieben SSH Library is a Secure Shell client library for C++. | 
					
						
							|  |  |  |          Version 1.3.2}\br | 
					
						
							|  |  |  |         \list | 
					
						
							|  |  |  |         \o \bold{Commercial License:} For organizations who do not want to | 
					
						
							|  |  |  |             release the source code for their applications as open source/ | 
					
						
							|  |  |  |             free software; in other words they do not want to comply with the | 
					
						
							|  |  |  |             GNU General Public License (GPL) or Q Public License. | 
					
						
							|  |  |  |         \o \bold{Non Commercial / Open Source License:} NetSieben believes in | 
					
						
							|  |  |  |             contributing back to the open source community, thus it has released | 
					
						
							|  |  |  |             the SSH Library under Q Public License as it is defined by Trolltech | 
					
						
							|  |  |  |             AS of Norway. The Open Source License allows the user to use software | 
					
						
							|  |  |  |             under an open source / free software license, and distribute it | 
					
						
							|  |  |  |             freely. The software can be used at no charge with the condition | 
					
						
							|  |  |  |             that if the user uses the SSH Library in an application they wish to | 
					
						
							|  |  |  |             redistribute, then the complete source code for your application must | 
					
						
							|  |  |  |             be available and freely redistributable under reasonable conditions. | 
					
						
							| 
									
										
										
										
											2010-01-29 22:49:55 +01:00
										 |  |  |             For more information on the used QPL License see: | 
					
						
							| 
									
										
										
										
											2010-01-13 12:30:31 +01:00
										 |  |  |             QtCreator/src/libs/3rdparty/net7ssh/LICENSE.QPL | 
					
						
							| 
									
										
										
										
											2010-01-20 12:14:28 +01:00
										 |  |  |         \endlist\br\br | 
					
						
							|  |  |  |         The source code of NetSieben Secure Shell C++ Library can be found | 
					
						
							|  |  |  |         here: | 
					
						
							|  |  |  |         \list | 
					
						
							|  |  |  |         \o QtCreator/src/libs/3rdparty | 
					
						
							|  |  |  |         \o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty} | 
					
						
							| 
									
										
										
										
											2010-01-13 12:30:31 +01:00
										 |  |  |         \endlist | 
					
						
							|  |  |  |      \endlist | 
					
						
							| 
									
										
										
										
											2009-02-27 10:32:10 +01:00
										 |  |  | */ |