diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:24:15 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:24:15 -0500 |
commit | bd0f3345a938b35ce6a12f6150373b0955b8dd12 (patch) | |
tree | 7a520322212d48ebcb9fbe1087e7fca28b76185c /doc/html/qapplication.html | |
download | qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.tar.gz qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.zip |
Add Qt3 development HEAD version
Diffstat (limited to 'doc/html/qapplication.html')
-rw-r--r-- | doc/html/qapplication.html | 2046 |
1 files changed, 2046 insertions, 0 deletions
diff --git a/doc/html/qapplication.html b/doc/html/qapplication.html new file mode 100644 index 0000000..411f37e --- /dev/null +++ b/doc/html/qapplication.html @@ -0,0 +1,2046 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qapplication.cpp:76 --> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>QApplication Class</title> +<style type="text/css"><!-- +fn { margin-left: 1cm; text-indent: -1cm; } +a:link { color: #004faf; text-decoration: none } +a:visited { color: #672967; text-decoration: none } +body { background: #ffffff; color: black; } +--></style> +</head> +<body> + +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr bgcolor="#E5E5E5"> +<td valign=center> + <a href="index.html"> +<font color="#004faf">Home</font></a> + | <a href="classes.html"> +<font color="#004faf">All Classes</font></a> + | <a href="mainclasses.html"> +<font color="#004faf">Main Classes</font></a> + | <a href="annotated.html"> +<font color="#004faf">Annotated</font></a> + | <a href="groups.html"> +<font color="#004faf">Grouped Classes</font></a> + | <a href="functions.html"> +<font color="#004faf">Functions</font></a> +</td> +<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QApplication Class Reference</h1> + +<p>The QApplication class manages the GUI application's control +flow and main settings. +<a href="#details">More...</a> +<p><tt>#include <<a href="qapplication-h.html">qapplication.h</a>></tt> +<p>Inherits <a href="qobject.html">QObject</a>. +<p><a href="qapplication-members.html">List of all member functions.</a> +<h2>Public Members</h2> +<ul> +<li class=fn><a href="#QApplication"><b>QApplication</b></a> ( int & argc, char ** argv )</li> +<li class=fn><a href="#QApplication-2"><b>QApplication</b></a> ( int & argc, char ** argv, bool GUIenabled )</li> +<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { Tty, GuiClient, GuiServer }</li> +<li class=fn><a href="#QApplication-3"><b>QApplication</b></a> ( int & argc, char ** argv, Type type )</li> +<li class=fn><a href="#QApplication-4"><b>QApplication</b></a> ( Display * dpy, HANDLE visual = 0, HANDLE colormap = 0 )</li> +<li class=fn><a href="#QApplication-5"><b>QApplication</b></a> ( Display * dpy, int argc, char ** argv, HANDLE visual = 0, HANDLE colormap = 0 )</li> +<li class=fn>virtual <a href="#~QApplication"><b>~QApplication</b></a> ()</li> +<li class=fn>int <a href="#argc"><b>argc</b></a> () const</li> +<li class=fn>char ** <a href="#argv"><b>argv</b></a> () const</li> +<li class=fn>Type <a href="#type"><b>type</b></a> () const</li> +<li class=fn>enum <a href="#ColorSpec-enum"><b>ColorSpec</b></a> { NormalColor = 0, CustomColor = 1, ManyColor = 2 }</li> +<li class=fn>QWidget * <a href="#mainWidget"><b>mainWidget</b></a> () const</li> +<li class=fn>virtual void <a href="#setMainWidget"><b>setMainWidget</b></a> ( QWidget * mainWidget )</li> +<li class=fn>virtual void <a href="#polish"><b>polish</b></a> ( QWidget * w )</li> +<li class=fn>QWidget * <a href="#focusWidget"><b>focusWidget</b></a> () const</li> +<li class=fn>QWidget * <a href="#activeWindow"><b>activeWindow</b></a> () const</li> +<li class=fn>int <a href="#exec"><b>exec</b></a> ()</li> +<li class=fn>void <a href="#processEvents"><b>processEvents</b></a> ()</li> +<li class=fn>void <a href="#processEvents-2"><b>processEvents</b></a> ( int maxtime )</li> +<li class=fn>void processOneEvent () <em>(obsolete)</em></li> +<li class=fn>bool <a href="#hasPendingEvents"><b>hasPendingEvents</b></a> ()</li> +<li class=fn>int enter_loop () <em>(obsolete)</em></li> +<li class=fn>void exit_loop () <em>(obsolete)</em></li> +<li class=fn>int loopLevel () const <em>(obsolete)</em></li> +<li class=fn>virtual bool <a href="#notify"><b>notify</b></a> ( QObject * receiver, QEvent * e )</li> +<li class=fn>void setDefaultCodec ( QTextCodec * codec ) <em>(obsolete)</em></li> +<li class=fn>QTextCodec * defaultCodec () const <em>(obsolete)</em></li> +<li class=fn>void <a href="#installTranslator"><b>installTranslator</b></a> ( QTranslator * mf )</li> +<li class=fn>void <a href="#removeTranslator"><b>removeTranslator</b></a> ( QTranslator * mf )</li> +<li class=fn>enum <a href="#Encoding-enum"><b>Encoding</b></a> { DefaultCodec, UnicodeUTF8 }</li> +<li class=fn>QString <a href="#translate"><b>translate</b></a> ( const char * context, const char * sourceText, const char * comment = 0, Encoding encoding = DefaultCodec ) const</li> +<li class=fn>QString <a href="#applicationDirPath"><b>applicationDirPath</b></a> ()</li> +<li class=fn>QString <a href="#applicationFilePath"><b>applicationFilePath</b></a> ()</li> +<li class=fn>virtual bool <a href="#macEventFilter"><b>macEventFilter</b></a> ( EventHandlerCallRef, EventRef )</li> +<li class=fn>virtual bool <a href="#winEventFilter"><b>winEventFilter</b></a> ( MSG * )</li> +<li class=fn>virtual bool <a href="#x11EventFilter"><b>x11EventFilter</b></a> ( XEvent * )</li> +<li class=fn>int <a href="#x11ProcessEvent"><b>x11ProcessEvent</b></a> ( XEvent * event )</li> +<li class=fn>virtual bool <a href="#qwsEventFilter"><b>qwsEventFilter</b></a> ( QWSEvent * )</li> +<li class=fn>void <a href="#qwsSetCustomColors"><b>qwsSetCustomColors</b></a> ( QRgb * colorTable, int start, int numColors )</li> +<li class=fn>void <a href="#winFocus"><b>winFocus</b></a> ( QWidget * widget, bool gotFocus )</li> +<li class=fn>bool <a href="#isSessionRestored"><b>isSessionRestored</b></a> () const</li> +<li class=fn>QString <a href="#sessionId"><b>sessionId</b></a> () const</li> +<li class=fn>QString <a href="#sessionKey"><b>sessionKey</b></a> () const</li> +<li class=fn>virtual void <a href="#commitData"><b>commitData</b></a> ( QSessionManager & sm )</li> +<li class=fn>virtual void <a href="#saveState"><b>saveState</b></a> ( QSessionManager & sm )</li> +<li class=fn>void <a href="#wakeUpGuiThread"><b>wakeUpGuiThread</b></a> ()</li> +<li class=fn>void <a href="#lock"><b>lock</b></a> ()</li> +<li class=fn>void <a href="#unlock"><b>unlock</b></a> ( bool wakeUpGui = TRUE )</li> +<li class=fn>bool <a href="#locked"><b>locked</b></a> ()</li> +<li class=fn>bool <a href="#tryLock"><b>tryLock</b></a> ()</li> +</ul> +<h2>Public Slots</h2> +<ul> +<li class=fn>void <a href="#quit"><b>quit</b></a> ()</li> +<li class=fn>void <a href="#closeAllWindows"><b>closeAllWindows</b></a> ()</li> +<li class=fn>void <a href="#aboutQt"><b>aboutQt</b></a> ()</li> +</ul> +<h2>Signals</h2> +<ul> +<li class=fn>void <a href="#lastWindowClosed"><b>lastWindowClosed</b></a> ()</li> +<li class=fn>void <a href="#aboutToQuit"><b>aboutToQuit</b></a> ()</li> +<li class=fn>void <a href="#guiThreadAwake"><b>guiThreadAwake</b></a> ()</li> +</ul> +<h2>Static Public Members</h2> +<ul> +<li class=fn>QStyle & <a href="#style"><b>style</b></a> ()</li> +<li class=fn>void <a href="#setStyle"><b>setStyle</b></a> ( QStyle * style )</li> +<li class=fn>QStyle * <a href="#setStyle-2"><b>setStyle</b></a> ( const QString & style )</li> +<li class=fn>int <a href="#colorSpec"><b>colorSpec</b></a> ()</li> +<li class=fn>void <a href="#setColorSpec"><b>setColorSpec</b></a> ( int spec )</li> +<li class=fn>QCursor * <a href="#overrideCursor"><b>overrideCursor</b></a> ()</li> +<li class=fn>void <a href="#setOverrideCursor"><b>setOverrideCursor</b></a> ( const QCursor & cursor, bool replace = FALSE )</li> +<li class=fn>void <a href="#restoreOverrideCursor"><b>restoreOverrideCursor</b></a> ()</li> +<li class=fn>bool <a href="#hasGlobalMouseTracking"><b>hasGlobalMouseTracking</b></a> ()</li> +<li class=fn>void <a href="#setGlobalMouseTracking"><b>setGlobalMouseTracking</b></a> ( bool enable )</li> +<li class=fn>QPalette <a href="#palette"><b>palette</b></a> ( const QWidget * w = 0 )</li> +<li class=fn>void <a href="#setPalette"><b>setPalette</b></a> ( const QPalette & palette, bool informWidgets = FALSE, const char * className = 0 )</li> +<li class=fn>QFont <a href="#font"><b>font</b></a> ( const QWidget * w = 0 )</li> +<li class=fn>void <a href="#setFont"><b>setFont</b></a> ( const QFont & font, bool informWidgets = FALSE, const char * className = 0 )</li> +<li class=fn>QFontMetrics <a href="#fontMetrics"><b>fontMetrics</b></a> ()</li> +<li class=fn>QWidgetList * <a href="#allWidgets"><b>allWidgets</b></a> ()</li> +<li class=fn>QWidgetList * <a href="#topLevelWidgets"><b>topLevelWidgets</b></a> ()</li> +<li class=fn>QDesktopWidget * <a href="#desktop"><b>desktop</b></a> ()</li> +<li class=fn>QWidget * <a href="#activePopupWidget"><b>activePopupWidget</b></a> ()</li> +<li class=fn>QWidget * <a href="#activeModalWidget"><b>activeModalWidget</b></a> ()</li> +<li class=fn>QClipboard * <a href="#clipboard"><b>clipboard</b></a> ()</li> +<li class=fn>QWidget * <a href="#widgetAt"><b>widgetAt</b></a> ( int x, int y, bool child = FALSE )</li> +<li class=fn>QWidget * <a href="#widgetAt-2"><b>widgetAt</b></a> ( const QPoint & pos, bool child = FALSE )</li> +<li class=fn>QEventLoop * <a href="#eventLoop"><b>eventLoop</b></a> ()</li> +<li class=fn>void <a href="#exit"><b>exit</b></a> ( int retcode = 0 )</li> +<li class=fn>bool <a href="#sendEvent"><b>sendEvent</b></a> ( QObject * receiver, QEvent * event )</li> +<li class=fn>void <a href="#postEvent"><b>postEvent</b></a> ( QObject * receiver, QEvent * event )</li> +<li class=fn>void <a href="#sendPostedEvents"><b>sendPostedEvents</b></a> ( QObject * receiver, int event_type )</li> +<li class=fn>void <a href="#sendPostedEvents-2"><b>sendPostedEvents</b></a> ()</li> +<li class=fn>void <a href="#removePostedEvents"><b>removePostedEvents</b></a> ( QObject * receiver )</li> +<li class=fn>bool <a href="#startingUp"><b>startingUp</b></a> ()</li> +<li class=fn>bool <a href="#closingDown"><b>closingDown</b></a> ()</li> +<li class=fn>void <a href="#flushX"><b>flushX</b></a> ()</li> +<li class=fn>void <a href="#flush"><b>flush</b></a> ()</li> +<li class=fn>void <a href="#syncX"><b>syncX</b></a> ()</li> +<li class=fn>void <a href="#beep"><b>beep</b></a> ()</li> +<li class=fn>void setWinStyleHighlightColor ( const QColor & c ) <em>(obsolete)</em></li> +<li class=fn>const QColor & winStyleHighlightColor () <em>(obsolete)</em></li> +<li class=fn>void <a href="#setDesktopSettingsAware"><b>setDesktopSettingsAware</b></a> ( bool on )</li> +<li class=fn>bool <a href="#desktopSettingsAware"><b>desktopSettingsAware</b></a> ()</li> +<li class=fn>void <a href="#setCursorFlashTime"><b>setCursorFlashTime</b></a> ( int msecs )</li> +<li class=fn>int <a href="#cursorFlashTime"><b>cursorFlashTime</b></a> ()</li> +<li class=fn>void <a href="#setDoubleClickInterval"><b>setDoubleClickInterval</b></a> ( int ms )</li> +<li class=fn>int <a href="#doubleClickInterval"><b>doubleClickInterval</b></a> ()</li> +<li class=fn>void <a href="#setWheelScrollLines"><b>setWheelScrollLines</b></a> ( int n )</li> +<li class=fn>int <a href="#wheelScrollLines"><b>wheelScrollLines</b></a> ()</li> +<li class=fn>void <a href="#setGlobalStrut"><b>setGlobalStrut</b></a> ( const QSize & strut )</li> +<li class=fn>QSize <a href="#globalStrut"><b>globalStrut</b></a> ()</li> +<li class=fn>void <a href="#setLibraryPaths"><b>setLibraryPaths</b></a> ( const QStringList & paths )</li> +<li class=fn>QStringList <a href="#libraryPaths"><b>libraryPaths</b></a> ()</li> +<li class=fn>void <a href="#addLibraryPath"><b>addLibraryPath</b></a> ( const QString & path )</li> +<li class=fn>void <a href="#removeLibraryPath"><b>removeLibraryPath</b></a> ( const QString & path )</li> +<li class=fn>void <a href="#setStartDragTime"><b>setStartDragTime</b></a> ( int ms )</li> +<li class=fn>int <a href="#startDragTime"><b>startDragTime</b></a> ()</li> +<li class=fn>void <a href="#setStartDragDistance"><b>setStartDragDistance</b></a> ( int l )</li> +<li class=fn>int <a href="#startDragDistance"><b>startDragDistance</b></a> ()</li> +<li class=fn>void <a href="#setReverseLayout"><b>setReverseLayout</b></a> ( bool b )</li> +<li class=fn>bool <a href="#reverseLayout"><b>reverseLayout</b></a> ()</li> +<li class=fn>int <a href="#horizontalAlignment"><b>horizontalAlignment</b></a> ( int align )</li> +<li class=fn>bool <a href="#isEffectEnabled"><b>isEffectEnabled</b></a> ( Qt::UIEffect effect )</li> +<li class=fn>void <a href="#setEffectEnabled"><b>setEffectEnabled</b></a> ( Qt::UIEffect effect, bool enable = TRUE )</li> +<li class=fn>QWSDecoration & <a href="#qwsDecoration"><b>qwsDecoration</b></a> ()</li> +<li class=fn>void <a href="#qwsSetDecoration"><b>qwsSetDecoration</b></a> ( QWSDecoration * d )</li> +</ul> +<h2>Related Functions</h2> +<ul> +<li class=fn>void <a href="#qAddPostRoutine"><b>qAddPostRoutine</b></a> ( QtCleanUpFunction p )</li> +<li class=fn>const char * <a href="#qVersion"><b>qVersion</b></a> ()</li> +<li class=fn>bool <a href="#qSysInfo"><b>qSysInfo</b></a> ( int * wordSize, bool * bigEndian )</li> +<li class=fn>void <a href="#qDebug"><b>qDebug</b></a> ( const char * msg, ... )</li> +<li class=fn>void <a href="#qWarning"><b>qWarning</b></a> ( const char * msg, ... )</li> +<li class=fn>void <a href="#qFatal"><b>qFatal</b></a> ( const char * msg, ... )</li> +<li class=fn>void <a href="#qSystemWarning"><b>qSystemWarning</b></a> ( const char * msg, int code )</li> +<li class=fn>void <a href="#Q_ASSERT"><b>Q_ASSERT</b></a> ( bool test )</li> +<li class=fn>void <a href="#Q_CHECK_PTR"><b>Q_CHECK_PTR</b></a> ( void * p )</li> +<li class=fn>QtMsgHandler <a href="#qInstallMsgHandler"><b>qInstallMsgHandler</b></a> ( QtMsgHandler h )</li> +</ul> +<hr><a name="details"></a><h2>Detailed Description</h2> + + +The QApplication class manages the GUI application's control +flow and main settings. +<p> + +<p> It contains the main event loop, where all events from the window +system and other sources are processed and dispatched. It also +handles the application's initialization and finalization, and +provides session management. It also handles most system-wide and +application-wide settings. +<p> For any GUI application that uses Qt, there is precisely one +QApplication object, no matter whether the application has 0, 1, 2 +or more windows at any time. +<p> The QApplication object is accessible through the global pointer <tt>qApp</tt>. Its main areas of responsibility are: +<ul> +<p> <li> It initializes the application with the user's desktop settings +such as <a href="#palette">palette</a>(), <a href="#font">font</a>() and <a href="#doubleClickInterval">doubleClickInterval</a>(). It keeps track +of these properties in case the user changes the desktop globally, for +example through some kind of control panel. +<p> <li> It performs event handling, meaning that it receives events +from the underlying window system and dispatches them to the relevant +widgets. By using <a href="#sendEvent">sendEvent</a>() and <a href="#postEvent">postEvent</a>() you can send your own +events to widgets. +<p> <li> It parses common command line arguments and sets its internal +state accordingly. See the <a href="#QApplication">constructor documentation</a> below for more details about this. +<p> <li> It defines the application's look and feel, which is +encapsulated in a <a href="qstyle.html">QStyle</a> object. This can be changed at runtime +with <a href="#setStyle">setStyle</a>(). +<p> <li> It specifies how the application is to allocate colors. +See <a href="#setColorSpec">setColorSpec</a>() for details. +<p> <li> It provides <a href="i18n.html#localization">localization</a> of strings that are visible to the user +via <a href="#translate">translate</a>(). +<p> <li> It provides some magical objects like the <a href="#desktop">desktop</a>() and the +<a href="#clipboard">clipboard</a>(). +<p> <li> It knows about the application's windows. You can ask which +widget is at a certain position using <a href="#widgetAt">widgetAt</a>(), get a list of +<a href="#topLevelWidgets">topLevelWidgets</a>() and <a href="#closeAllWindows">closeAllWindows</a>(), etc. +<p> <li> It manages the application's mouse cursor handling, +see <a href="#setOverrideCursor">setOverrideCursor</a>() and <a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>(). +<p> <li> On the X window system, it provides functions to flush and sync +the communication stream, see <a href="#flushX">flushX</a>() and <a href="#syncX">syncX</a>(). +<p> <li> It provides support for sophisticated <a href="session.html">session management</a>. This makes it possible +for applications to terminate gracefully when the user logs out, to +cancel a shutdown process if termination isn't possible and even to +preserve the entire application's state for a future session. See +<a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>() and <a href="#commitData">commitData</a>() and <a href="#saveState">saveState</a>() +for details. +<p> </ul> +<p> The <a href="simple-application.html">Application walk-through +example</a> contains a typical complete main() that does the usual +things with QApplication. +<p> Since the QApplication object does so much initialization, it +<b>must</b> be created before any other objects related to the user +interface are created. +<p> Since it also deals with common command line arguments, it is +usually a good idea to create it <em>before</em> any interpretation or +modification of <tt>argv</tt> is done in the application itself. (Note +also that for X11, <a href="#setMainWidget">setMainWidget</a>() may change the main widget +according to the <tt>-geometry</tt> option. To preserve this +functionality, you must set your defaults before setMainWidget() and +any overrides after.) +<p> <center><table cellpadding="4" cellspacing="2" border="0"> +<tr bgcolor="#a2c511"> <th valign="top" colspan="2" rowspan="1"> Groups of functions +<tr bgcolor="#f0f0f0"> +<td valign="top">System settings +<td valign="top"> +<a href="#desktopSettingsAware">desktopSettingsAware</a>(), +<a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(), +<a href="#cursorFlashTime">cursorFlashTime</a>(), +<a href="#setCursorFlashTime">setCursorFlashTime</a>(), +<a href="#doubleClickInterval">doubleClickInterval</a>(), +<a href="#setDoubleClickInterval">setDoubleClickInterval</a>(), +<a href="#wheelScrollLines">wheelScrollLines</a>(), +<a href="#setWheelScrollLines">setWheelScrollLines</a>(), +<a href="#palette">palette</a>(), +<a href="#setPalette">setPalette</a>(), +<a href="#font">font</a>(), +<a href="#setFont">setFont</a>(), +<a href="#fontMetrics">fontMetrics</a>(). +<tr bgcolor="#d0d0d0"> +<td valign="top">Event handling +<td valign="top"> +<a href="#exec">exec</a>(), +<a href="#processEvents">processEvents</a>(), +<a href="#enter_loop">enter_loop</a>(), +<a href="#exit_loop">exit_loop</a>(), +<a href="#exit">exit</a>(), +<a href="#quit">quit</a>(). +<a href="#sendEvent">sendEvent</a>(), +<a href="#postEvent">postEvent</a>(), +<a href="#sendPostedEvents">sendPostedEvents</a>(), +<a href="#removePostedEvents">removePostedEvents</a>(), +<a href="#hasPendingEvents">hasPendingEvents</a>(), +<a href="#notify">notify</a>(), +<a href="#macEventFilter">macEventFilter</a>(), +<a href="#qwsEventFilter">qwsEventFilter</a>(), +<a href="#x11EventFilter">x11EventFilter</a>(), +<a href="#x11ProcessEvent">x11ProcessEvent</a>(), +<a href="#winEventFilter">winEventFilter</a>(). +<tr bgcolor="#f0f0f0"> +<td valign="top">GUI Styles +<td valign="top"> +<a href="#style">style</a>(), +<a href="#setStyle">setStyle</a>(), +<a href="#polish">polish</a>(). +<tr bgcolor="#d0d0d0"> +<td valign="top">Color usage +<td valign="top"> +<a href="#colorSpec">colorSpec</a>(), +<a href="#setColorSpec">setColorSpec</a>(), +<a href="#qwsSetCustomColors">qwsSetCustomColors</a>(). +<tr bgcolor="#f0f0f0"> +<td valign="top">Text handling +<td valign="top"> +<a href="#installTranslator">installTranslator</a>(), +<a href="#removeTranslator">removeTranslator</a>() +<a href="#translate">translate</a>(). +<tr bgcolor="#d0d0d0"> +<td valign="top">Widgets +<td valign="top"> +<a href="#mainWidget">mainWidget</a>(), +<a href="#setMainWidget">setMainWidget</a>(), +<a href="#allWidgets">allWidgets</a>(), +<a href="#topLevelWidgets">topLevelWidgets</a>(), +<a href="#desktop">desktop</a>(), +<a href="#activePopupWidget">activePopupWidget</a>(), +<a href="#activeModalWidget">activeModalWidget</a>(), +<a href="#clipboard">clipboard</a>(), +<a href="#focusWidget">focusWidget</a>(), +<a href="#winFocus">winFocus</a>(), +<a href="#activeWindow">activeWindow</a>(), +<a href="#widgetAt">widgetAt</a>(). +<tr bgcolor="#f0f0f0"> +<td valign="top">Advanced cursor handling +<td valign="top"> +<a href="#hasGlobalMouseTracking">hasGlobalMouseTracking</a>(), +<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>(), +<a href="#overrideCursor">overrideCursor</a>(), +<a href="#setOverrideCursor">setOverrideCursor</a>(), +<a href="#restoreOverrideCursor">restoreOverrideCursor</a>(). +<tr bgcolor="#d0d0d0"> +<td valign="top">X Window System synchronization +<td valign="top"> +<a href="#flushX">flushX</a>(), +<a href="#syncX">syncX</a>(). +<tr bgcolor="#f0f0f0"> +<td valign="top">Session management +<td valign="top"> +<a href="#isSessionRestored">isSessionRestored</a>(), +<a href="#sessionId">sessionId</a>(), +<a href="#commitData">commitData</a>(), +<a href="#saveState">saveState</a>(). +<tr bgcolor="#d0d0d0"> +<td valign="top">Threading +<td valign="top"> +<a href="#lock">lock</a>(), <a href="#unlock">unlock</a>(), <a href="#locked">locked</a>(), <a href="#tryLock">tryLock</a>(), +<a href="#wakeUpGuiThread">wakeUpGuiThread</a>() +<tr bgcolor="#f0f0f0"> +<td valign="top">Miscellaneous +<td valign="top"> +<a href="#closeAllWindows">closeAllWindows</a>(), +<a href="#startingUp">startingUp</a>(), +<a href="#closingDown">closingDown</a>(), +<a href="#type">type</a>(). +</table></center> +<p> <em>Non-GUI programs:</em> While Qt is not optimized or +designed for writing non-GUI programs, it's possible to use +<a href="tools.html">some of its classes</a> without creating a +QApplication. This can be useful if you wish to share code between +a non-GUI server and a GUI client. + + + +<p>See also <a href="application.html">Main Window and Related Classes</a>. + +<hr><h2>Member Type Documentation</h2> +<h3 class=fn><a name="ColorSpec-enum"></a>QApplication::ColorSpec</h3> + +<ul> +<li><tt>QApplication::NormalColor</tt> - the default color allocation policy +<li><tt>QApplication::CustomColor</tt> - the same as NormalColor for X11; allocates colors +to a palette on demand under Windows +<li><tt>QApplication::ManyColor</tt> - the right choice for applications that use thousands of +colors +</ul><p> See <a href="#setColorSpec">setColorSpec</a>() for full details. + +<h3 class=fn><a name="Encoding-enum"></a>QApplication::Encoding</h3> +<p> This enum type defines the 8-bit encoding of character string +arguments to <a href="#translate">translate</a>(): +<ul> +<li><tt>QApplication::DefaultCodec</tt> - the encoding specified by +<a href="qtextcodec.html#codecForTr">QTextCodec::codecForTr</a>() (Latin-1 if none has been set) +<li><tt>QApplication::UnicodeUTF8</tt> - UTF-8 +</ul><p> <p>See also <a href="qobject.html#tr">QObject::tr</a>(), <a href="qobject.html#trUtf8">QObject::trUtf8</a>(), and <a href="qstring.html#fromUtf8">QString::fromUtf8</a>(). + +<h3 class=fn><a name="Type-enum"></a>QApplication::Type</h3> + +<ul> +<li><tt>QApplication::Tty</tt> - a console application +<li><tt>QApplication::GuiClient</tt> - a GUI client application +<li><tt>QApplication::GuiServer</tt> - a GUI server application +</ul> +<hr><h2>Member Function Documentation</h2> +<h3 class=fn><a name="QApplication"></a>QApplication::QApplication ( int & argc, char ** argv ) +</h3> +Initializes the window system and constructs an application object +with <em>argc</em> command line arguments in <em>argv</em>. +<p> The global <tt>qApp</tt> pointer refers to this application object. Only +one application object should be created. +<p> This application object must be constructed before any <a href="qpaintdevice.html">paint devices</a> (including widgets, pixmaps, bitmaps +etc.). +<p> Note that <em>argc</em> and <em>argv</em> might be changed. Qt removes command +line arguments that it recognizes. The modified <em>argc</em> and <em>argv</em> +can also be accessed later with <tt>qApp->argc()</tt> and <tt>qApp->argv()</tt>. +The documentation for <a href="#argv">argv</a>() contains a detailed description of how +to process command line arguments. +<p> Qt debugging options (not available if Qt was compiled with the +QT_NO_DEBUG flag defined): +<ul> +<li> -nograb, tells Qt that it must never grab the mouse or the keyboard. +<li> -dograb (only under X11), running under a debugger can cause +an implicit -nograb, use -dograb to override. +<li> -sync (only under X11), switches to synchronous mode for +debugging. +</ul> +<p> See <a href="debug.html">Debugging Techniques</a> for a more +detailed explanation. +<p> All Qt programs automatically support the following command line options: +<ul> +<li> -reverse causes text to be formatted for right-to-left languages +rather than in the usual left-to-right direction. +<li> -style= <em>style</em>, sets the application GUI style. Possible values +are <tt>motif</tt>, <tt>windows</tt>, and <tt>platinum</tt>. If you compiled Qt +with additional styles or have additional styles as plugins these +will be available to the <tt>-style</tt> command line option. +<li> -style <em>style</em>, is the same as listed above. +<li> -session= <em>session</em>, restores the application from an earlier +<a href="session.html">session</a>. +<li> -session <em>session</em>, is the same as listed above. +<li> -widgetcount, prints debug message at the end about number of widgets left +undestroyed and maximum number of widgets existed at the same time +</ul> +<p> The X11 version of Qt also supports some traditional X11 +command line options: +<ul> +<li> -display <em>display</em>, sets the X display (default is $DISPLAY). +<li> -geometry <em>geometry</em>, sets the client geometry of the +<a href="#setMainWidget">main widget</a>. +<li> -fn or <tt>-font</tt> <em>font</em>, defines the application font. The +font should be specified using an X logical font description. +<li> -bg or <tt>-background</tt> <em>color</em>, sets the default background color +and an application palette (light and dark shades are calculated). +<li> -fg or <tt>-foreground</tt> <em>color</em>, sets the default foreground color. +<li> -btn or <tt>-button</tt> <em>color</em>, sets the default button color. +<li> -name <em>name</em>, sets the application name. +<li> -title <em>title</em>, sets the application title (caption). +<li> -visual <tt>TrueColor</tt>, forces the application to use a TrueColor visual +on an 8-bit display. +<li> -ncols <em>count</em>, limits the number of colors allocated in the +color cube on an 8-bit display, if the application is using the +<a href="#ColorSpec-enum">QApplication::ManyColor</a> color specification. If <em>count</em> is +216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, +and 6 of blue); for other values, a cube +approximately proportional to a 2x3x1 cube is used. +<li> -cmap, causes the application to install a private color map +on an 8-bit display. +</ul> +<p> <p>See also <a href="#argc">argc</a>() and <a href="#argv">argv</a>(). + +<h3 class=fn><a name="QApplication-2"></a>QApplication::QApplication ( int & argc, char ** argv, bool GUIenabled ) +</h3> +Constructs an application object with <em>argc</em> command line arguments +in <em>argv</em>. If <em>GUIenabled</em> is TRUE, a GUI application is +constructed, otherwise a non-GUI (console) application is created. +<p> Set <em>GUIenabled</em> to FALSE for programs without a graphical user +interface that should be able to run without a window system. +<p> On X11, the window system is initialized if <em>GUIenabled</em> is TRUE. +If <em>GUIenabled</em> is FALSE, the application does not connect to the +X-server. +On Windows and Macintosh, currently the window system is always +initialized, regardless of the value of GUIenabled. This may change in +future versions of Qt. +<p> The following example shows how to create an application that +uses a graphical interface when available. +<pre> + int main( int argc, char **argv ) + { +#ifdef Q_WS_X11 + bool useGUI = getenv( "DISPLAY" ) != 0; +#else + bool useGUI = TRUE; +#endif + QApplication app(argc, argv, useGUI); + + if ( useGUI ) { + //start GUI version + ... + } else { + //start non-GUI version + ... + } + return app.<a href="#exec">exec</a>(); + } +</pre> + + +<h3 class=fn><a name="QApplication-3"></a>QApplication::QApplication ( int & argc, char ** argv, <a href="qapplication.html#Type-enum">Type</a> type ) +</h3> +Constructs an application object with <em>argc</em> command line arguments +in <em>argv</em>. +<p> For Qt/Embedded, passing <a href="#Type-enum">QApplication::GuiServer</a> for <em>type</em> +makes this application the server (equivalent to running with the +-qws option). + +<h3 class=fn><a name="QApplication-4"></a>QApplication::QApplication ( Display * dpy, HANDLE visual = 0, HANDLE colormap = 0 ) +</h3> +Create an application, given an already open display <em>dpy</em>. If <em>visual</em> and <em>colormap</em> are non-zero, the application will use those as +the default Visual and Colormap contexts. +<p> <b>Warning:</b> Qt only supports TrueColor visuals at depths higher than 8 +bits-per-pixel. +<p> This is available only on X11. + +<h3 class=fn><a name="QApplication-5"></a>QApplication::QApplication ( Display * dpy, int argc, char ** argv, HANDLE visual = 0, HANDLE colormap = 0 ) +</h3> +Create an application, given an already open display <em>dpy</em> and using +<em>argc</em> command line arguments in <em>argv</em>. If <em>visual</em> and <em>colormap</em> are non-zero, the application will use those as +the default Visual and Colormap contexts. +<p> <b>Warning:</b> Qt only supports TrueColor visuals at depths higher than 8 +bits-per-pixel. +<p> This is available only on X11. +<p> +<h3 class=fn><a name="~QApplication"></a>QApplication::~QApplication ()<tt> [virtual]</tt> +</h3> +Cleans up any window system resources that were allocated by this +application. Sets the global variable <tt>qApp</tt> to 0. + +<h3 class=fn>void <a name="aboutQt"></a>QApplication::aboutQt ()<tt> [slot]</tt> +</h3> +Displays a simple message box about Qt. The message includes the +version number of Qt being used by the application. +<p> This is useful for inclusion in the Help menu of an application. +See the examples/menu/menu.cpp example. +<p> This function is a convenience slot for <a href="qmessagebox.html#aboutQt">QMessageBox::aboutQt</a>(). + +<h3 class=fn>void <a name="aboutToQuit"></a>QApplication::aboutToQuit ()<tt> [signal]</tt> +</h3> + +<p> This signal is emitted when the application is about to quit the +main event loop, e.g. when the event loop level drops to zero. +This may happen either after a call to <a href="#quit">quit</a>() from inside the +application or when the users shuts down the entire desktop session. +<p> The signal is particularly useful if your application has to do some +last-second cleanup. Note that no user interaction is possible in +this state. +<p> <p>See also <a href="#quit">quit</a>(). + +<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="activeModalWidget"></a>QApplication::activeModalWidget ()<tt> [static]</tt> +</h3> +Returns the active modal widget. +<p> A modal widget is a special top level widget which is a subclass of +<a href="qdialog.html">QDialog</a> that specifies the modal parameter of the constructor as +TRUE. A modal widget must be closed before the user can continue +with other parts of the program. +<p> Modal widgets are organized in a stack. This function returns +the active modal widget at the top of the stack. +<p> <p>See also <a href="#activePopupWidget">activePopupWidget</a>() and <a href="#topLevelWidgets">topLevelWidgets</a>(). + +<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="activePopupWidget"></a>QApplication::activePopupWidget ()<tt> [static]</tt> +</h3> +Returns the active popup widget. +<p> A popup widget is a special top level widget that sets the <a href="qt.html#WidgetFlags-enum">WType_Popup</a> widget flag, e.g. the <a href="qpopupmenu.html">QPopupMenu</a> widget. When the +application opens a popup widget, all events are sent to the popup. +Normal widgets and modal widgets cannot be accessed before the popup +widget is closed. +<p> Only other popup widgets may be opened when a popup widget is shown. +The popup widgets are organized in a stack. This function returns +the active popup widget at the top of the stack. +<p> <p>See also <a href="#activeModalWidget">activeModalWidget</a>() and <a href="#topLevelWidgets">topLevelWidgets</a>(). + +<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="activeWindow"></a>QApplication::activeWindow () const +</h3> + +<p> Returns the application top-level window that has the keyboard input +focus, or 0 if no application window has the focus. Note that +there might be an <a href="#activeWindow">activeWindow</a>() even if there is no <a href="#focusWidget">focusWidget</a>(), +for example if no widget in that window accepts key events. +<p> <p>See also <a href="qwidget.html#setFocus">QWidget::setFocus</a>(), <a href="qwidget.html#focus-prop">QWidget::focus</a>, and <a href="#focusWidget">focusWidget</a>(). + +<p>Example: <a href="mail-example.html#x704">network/mail/smtp.cpp</a>. +<h3 class=fn>void <a name="addLibraryPath"></a>QApplication::addLibraryPath ( const <a href="qstring.html">QString</a> & path )<tt> [static]</tt> +</h3> +Append <em>path</em> to the end of the library path list. If <em>path</em> is +empty or already in the path list, the path list is not changed. +<p> The default path list consists of a single entry, the installation +directory for plugins. The default installation directory for plugins +is <tt>INSTALL/plugins</tt>, where <tt>INSTALL</tt> is the directory where Qt was +installed. +<p> <p>See also <a href="#removeLibraryPath">removeLibraryPath</a>(), <a href="#libraryPaths">libraryPaths</a>(), and <a href="#setLibraryPaths">setLibraryPaths</a>(). + +<h3 class=fn>QWidgetList * <a name="allWidgets"></a>QApplication::allWidgets ()<tt> [static]</tt> +</h3> +Returns a list of all the widgets in the application. +<p> The list is created using <tt>new</tt> and must be deleted by the caller. +<p> The list is empty (<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>()) if there are no widgets. +<p> Note that some of the widgets may be hidden. +<p> Example that updates all widgets: +<pre> + QWidgetList *list = QApplication::<a href="#allWidgets">allWidgets</a>(); + QWidgetListIt it( *list ); // iterate over the widgets + <a href="qwidget.html">QWidget</a> * w; + while ( (w=it.current()) != 0 ) { // for each widget... + ++it; + w-><a href="qwidget.html#update">update</a>(); + } + delete list; // delete the list, not the widgets + </pre> + +<p> The QWidgetList class is defined in the <tt>qwidgetlist.h</tt> header +file. +<p> <b>Warning:</b> Delete the list as soon as you have finished using it. +The widgets in the list may be deleted by someone else at any time. +<p> <p>See also <a href="#topLevelWidgets">topLevelWidgets</a>(), <a href="qwidget.html#visible-prop">QWidget::visible</a>, and <a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>(). + +<h3 class=fn><a href="qstring.html">QString</a> <a name="applicationDirPath"></a>QApplication::applicationDirPath () +</h3> +Returns the directory that contains the application executable. +<p> For example, if you have installed Qt in the <tt>C:\Trolltech\Qt</tt> +directory, and you run the <tt>demo</tt> example, this function will +return "C:/Trolltech/Qt/examples/demo". +<p> On Mac OS X this will point to the directory actually containing the +executable, which may be inside of an application bundle (if the +application is bundled). +<p> <b>Warning:</b> On Unix, this function assumes that argv[0] contains the file +name of the executable (which it normally does). It also assumes that +the current directory hasn't been changed by the application. +<p> <p>See also <a href="#applicationFilePath">applicationFilePath</a>(). + +<h3 class=fn><a href="qstring.html">QString</a> <a name="applicationFilePath"></a>QApplication::applicationFilePath () +</h3> +Returns the file path of the application executable. +<p> For example, if you have installed Qt in the <tt>C:\Trolltech\Qt</tt> +directory, and you run the <tt>demo</tt> example, this function will +return "C:/Trolltech/Qt/examples/demo/demo.exe". +<p> <b>Warning:</b> On Unix, this function assumes that argv[0] contains the file +name of the executable (which it normally does). It also assumes that +the current directory hasn't been changed by the application. +<p> <p>See also <a href="#applicationDirPath">applicationDirPath</a>(). + +<h3 class=fn>int <a name="argc"></a>QApplication::argc () const +</h3> + +<p> Returns the number of command line arguments. +<p> The documentation for <a href="#argv">argv</a>() describes how to process command line +arguments. +<p> <p>See also <a href="#argv">argv</a>() and <a href="#QApplication">QApplication::QApplication</a>(). + +<p>Examples: <a href="tutorial2-04.html#x2557">chart/main.cpp</a> and <a href="scribble-example.html#x906">scribble/scribble.cpp</a>. +<h3 class=fn>char ** <a name="argv"></a>QApplication::argv () const +</h3> + +<p> Returns the command line argument vector. +<p> <tt>argv()[0]</tt> is the program name, <tt>argv()[1]</tt> is the first +argument and <tt>argv()[argc()-1]</tt> is the last argument. +<p> A QApplication object is constructed by passing <em>argc</em> and <em>argv</em> from the <tt>main()</tt> function. Some of the arguments may be +recognized as Qt options and removed from the argument vector. For +example, the X11 version of Qt knows about <tt>-display</tt>, <tt>-font</tt> +and a few more options. +<p> Example: +<pre> + // showargs.cpp - displays program arguments in a list box + + #include <<a href="qapplication-h.html">qapplication.h</a>> + #include <<a href="qlistbox-h.html">qlistbox.h</a>> + + int main( int argc, char **argv ) + { + QApplication a( argc, argv ); + <a href="qlistbox.html">QListBox</a> b; + a.<a href="#setMainWidget">setMainWidget</a>( &b ); + for ( int i = 0; i < a.<a href="#argc">argc</a>(); i++ ) // a.<a href="#argc">argc</a>() == argc + b.<a href="qlistbox.html#insertItem">insertItem</a>( a.<a href="#argv">argv</a>()[i] ); // a.<a href="#argv">argv</a>()[i] == argv[i] + b.<a href="qwidget.html#show">show</a>(); + return a.<a href="#exec">exec</a>(); + } + </pre> + +<p> If you run <tt>showargs -display unix:0 -font 9x15bold hello world</tt> +under X11, the list box contains the three strings "showargs", +"hello" and "world". +<p> Qt provides a global pointer, <tt>qApp</tt>, that points to the +QApplication object, and through which you can access <a href="#argc">argc</a>() and +<a href="#argv">argv</a>() in functions other than main(). +<p> <p>See also <a href="#argc">argc</a>() and <a href="#QApplication">QApplication::QApplication</a>(). + +<p>Examples: <a href="tutorial2-04.html#x2558">chart/main.cpp</a> and <a href="scribble-example.html#x907">scribble/scribble.cpp</a>. +<h3 class=fn>void <a name="beep"></a>QApplication::beep ()<tt> [static]</tt> +</h3> +Sounds the bell, using the default volume and sound. + +<h3 class=fn><a href="qclipboard.html">QClipboard</a> * <a name="clipboard"></a>QApplication::clipboard ()<tt> [static]</tt> +</h3> +Returns a pointer to the application global clipboard. + +<p>Examples: <a href="regexptester-example.html#x2468">regexptester/regexptester.cpp</a> and <a href="showimg-example.html#x1308">showimg/showimg.cpp</a>. +<h3 class=fn>void <a name="closeAllWindows"></a>QApplication::closeAllWindows ()<tt> [slot]</tt> +</h3> +Closes all top-level windows. +<p> This function is particularly useful for applications with many +top-level windows. It could, for example, be connected to a "Quit" +entry in the file menu as shown in the following code example: +<p> <pre> + // the "Quit" menu entry should try to close all windows + <a href="qpopupmenu.html">QPopupMenu</a>* file = new <a href="qpopupmenu.html">QPopupMenu</a>( this ); + file-><a href="qmenudata.html#insertItem">insertItem</a>( "&Quit", qApp, SLOT(<a href="#closeAllWindows">closeAllWindows</a>()), CTRL+Key_Q ); + + // when the last window is closed, the application should quit + <a href="qobject.html#connect">connect</a>( qApp, SIGNAL( <a href="#lastWindowClosed">lastWindowClosed</a>() ), qApp, SLOT( <a href="#quit">quit</a>() ) ); + </pre> + +<p> The windows are closed in random order, until one window does not +accept the close event. +<p> <p>See also <a href="qwidget.html#close">QWidget::close</a>(), <a href="qwidget.html#closeEvent">QWidget::closeEvent</a>(), <a href="#lastWindowClosed">lastWindowClosed</a>(), <a href="#quit">quit</a>(), <a href="#topLevelWidgets">topLevelWidgets</a>(), and <a href="qwidget.html#isTopLevel-prop">QWidget::isTopLevel</a>. + +<p> +<p>Examples: <a href="qaction-application-example.html#x1127">action/application.cpp</a>, <a href="simple-application-example.html#x1544">application/application.cpp</a>, <a href="helpviewer-example.html#x980">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2020">mdi/application.cpp</a>, and <a href="qwerty-example.html#x358">qwerty/qwerty.cpp</a>. +<h3 class=fn>bool <a name="closingDown"></a>QApplication::closingDown ()<tt> [static]</tt> +</h3> +Returns TRUE if the application objects are being destroyed; +otherwise returns FALSE. +<p> <p>See also <a href="#startingUp">startingUp</a>(). + +<h3 class=fn>int <a name="colorSpec"></a>QApplication::colorSpec ()<tt> [static]</tt> +</h3> +Returns the color specification. +<p>See also <a href="#setColorSpec">QApplication::setColorSpec</a>(). + +<p>Example: <a href="showimg-example.html#x1309">showimg/showimg.cpp</a>. +<h3 class=fn>void <a name="commitData"></a>QApplication::commitData ( <a href="qsessionmanager.html">QSessionManager</a> & sm )<tt> [virtual]</tt> +</h3> + +<p> This function deals with <a href="session.html">session + management</a>. It is invoked when the <a href="qsessionmanager.html">QSessionManager</a> wants the +application to commit all its data. +<p> Usually this means saving all open files, after getting +permission from the user. Furthermore you may want to provide a means +by which the user can cancel the shutdown. +<p> Note that you should not exit the application within this function. +Instead, the session manager may or may not do this afterwards, +depending on the context. +<p> <b>Warning:</b> Within this function, no user interaction is possible, <em>unless</em> you ask the session manager <em>sm</em> for explicit permission. +See <a href="qsessionmanager.html#allowsInteraction">QSessionManager::allowsInteraction</a>() and +<a href="qsessionmanager.html#allowsErrorInteraction">QSessionManager::allowsErrorInteraction</a>() for details and example +usage. +<p> The default implementation requests interaction and sends a close +event to all visible top level widgets. If any event was +rejected, the shutdown is canceled. +<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>(), <a href="#saveState">saveState</a>(), and <a href="session.html">the Session Management overview</a>. + +<h3 class=fn>int <a name="cursorFlashTime"></a>QApplication::cursorFlashTime ()<tt> [static]</tt> +</h3> +Returns the text cursor's flash (blink) time in milliseconds. The +flash time is the time required to display, invert and restore the +caret display. +<p> The default value on X11 is 1000 milliseconds. On Windows, the +control panel value is used. +<p> Widgets should not cache this value since it may be changed at any +time by the user changing the global desktop settings. +<p> <p>See also <a href="#setCursorFlashTime">setCursorFlashTime</a>(). + +<h3 class=fn><a href="qtextcodec.html">QTextCodec</a> * <a name="defaultCodec"></a>QApplication::defaultCodec () const +</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> Returns <a href="qtextcodec.html#codecForTr">QTextCodec::codecForTr</a>(). + +<h3 class=fn><a href="qdesktopwidget.html">QDesktopWidget</a> * <a name="desktop"></a>QApplication::desktop ()<tt> [static]</tt> +</h3> +Returns the desktop widget (also called the root window). +<p> The desktop widget is useful for obtaining the size of the screen. +It may also be possible to draw on the desktop. We recommend against +assuming that it's possible to draw on the desktop, since this does +not work on all operating systems. +<p> <pre> + <a href="qdesktopwidget.html">QDesktopWidget</a> *d = QApplication::<a href="#desktop">desktop</a>(); + int w = d-><a href="qwidget.html#width">width</a>(); // returns desktop width + int h = d-><a href="qwidget.html#height">height</a>(); // returns desktop height + </pre> + + +<p>Examples: <a href="canvas-example.html#x2958">canvas/main.cpp</a>, <a href="desktop-example.html#x1721">desktop/desktop.cpp</a>, <a href="helpviewer-example.html#x1037">helpviewer/main.cpp</a>, <a href="i18n-example.html#x1928">i18n/main.cpp</a>, <a href="qmag-example.html#x1765">qmag/qmag.cpp</a>, <a href="qwerty-example.html#x414">qwerty/main.cpp</a>, and <a href="scribble-example.html#x954">scribble/main.cpp</a>. +<h3 class=fn>bool <a name="desktopSettingsAware"></a>QApplication::desktopSettingsAware ()<tt> [static]</tt> +</h3> +Returns the value set by <a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(); by default TRUE. +<p> <p>See also <a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(). + +<h3 class=fn>int <a name="doubleClickInterval"></a>QApplication::doubleClickInterval ()<tt> [static]</tt> +</h3> +Returns the maximum duration for a double click. +<p> The default value on X11 is 400 milliseconds. On Windows, the +control panel value is used. +<p> <p>See also <a href="#setDoubleClickInterval">setDoubleClickInterval</a>(). + +<h3 class=fn>int <a name="enter_loop"></a>QApplication::enter_loop () +</h3> +<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> This function enters the main event loop (recursively). Do not call +it unless you really know what you are doing. +<p> Use <a href="#eventLoop">QApplication::eventLoop</a>()->enterLoop() instead. +<p> +<h3 class=fn><a href="qeventloop.html">QEventLoop</a> * <a name="eventLoop"></a>QApplication::eventLoop ()<tt> [static]</tt> +</h3> +Returns the application event loop. This function will return +zero if called during and after destroying QApplication. +<p> To create your own instance of <a href="qeventloop.html">QEventLoop</a> or QEventLoop subclass create +it before you create the QApplication object. +<p> <p>See also <a href="qeventloop.html">QEventLoop</a>. + +<p>Example: <a href="distributor-example.html#x2651">distributor/distributor.ui.h</a>. +<h3 class=fn>int <a name="exec"></a>QApplication::exec () +</h3> +Enters the main event loop and waits until <a href="#exit">exit</a>() is called or the +main widget is destroyed, and returns the value that was set to +exit() (which is 0 if exit() is called via <a href="#quit">quit</a>()). +<p> It is necessary to call this function to start event handling. The +main event loop receives events from the window system and +dispatches these to the application widgets. +<p> Generally speaking, no user interaction can take place before +calling <a href="#exec">exec</a>(). As a special case, modal widgets like <a href="qmessagebox.html">QMessageBox</a> +can be used before calling exec(), because modal widgets call +exec() to start a local event loop. +<p> To make your application perform idle processing, i.e. executing a +special function whenever there are no pending events, use a +<a href="qtimer.html">QTimer</a> with 0 timeout. More advanced idle processing schemes can +be achieved using <a href="#processEvents">processEvents</a>(). +<p> <p>See also <a href="#quit">quit</a>(), <a href="#exit">exit</a>(), <a href="#processEvents">processEvents</a>(), and <a href="#setMainWidget">setMainWidget</a>(). + +<p>Examples: <a href="helpsystem-example.html#x2700">helpsystem/main.cpp</a>, <a href="qdialog.html#x2132">life/main.cpp</a>, <a href="archivesearch-example.html#x486">network/archivesearch/main.cpp</a>, <a href="ftpclient-example.html#x777">network/ftpclient/main.cpp</a>, <a href="qaxserver-example-opengl.html#x2731">opengl/main.cpp</a>, <a href="tutorial1-01.html#x2283">t1/main.cpp</a>, and <a href="tutorial1-04.html#x2303">t4/main.cpp</a>. +<h3 class=fn>void <a name="exit"></a>QApplication::exit ( int retcode = 0 )<tt> [static]</tt> +</h3> +Tells the application to exit with a return code. +<p> After this function has been called, the application leaves the main +event loop and returns from the call to <a href="#exec">exec</a>(). The exec() function +returns <em>retcode</em>. +<p> By convention, a <em>retcode</em> of 0 means success, and any non-zero +value indicates an error. +<p> Note that unlike the C library function of the same name, this +function <em>does</em> return to the caller -- it is event processing that +stops. +<p> <p>See also <a href="#quit">quit</a>() and <a href="#exec">exec</a>(). + +<p>Examples: <a href="canvas-chart-example.html#x2875">chart/chartform.cpp</a>, <a href="extension-dialog-example.html#x2865">extension/mainform.ui.h</a>, and <a href="picture-example.html#x106">picture/picture.cpp</a>. +<h3 class=fn>void <a name="exit_loop"></a>QApplication::exit_loop () +</h3> +<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> This function exits from a recursive call to the main event loop. +Do not call it unless you are an expert. +<p> Use <a href="#eventLoop">QApplication::eventLoop</a>()->exitLoop() instead. +<p> +<h3 class=fn>void <a name="flush"></a>QApplication::flush ()<tt> [static]</tt> +</h3> +Flushes the window system specific event queues. +<p> If you are doing graphical changes inside a loop that does not +return to the event loop on asynchronous window systems like X11 +or double buffered window systems like MacOS X, and you want to +visualize these changes immediately (e.g. Splash Screens), call +this function. +<p> <p>See also <a href="#flushX">flushX</a>(), <a href="#sendPostedEvents">sendPostedEvents</a>(), and <a href="qpainter.html#flush">QPainter::flush</a>(). + +<h3 class=fn>void <a name="flushX"></a>QApplication::flushX ()<tt> [static]</tt> +</h3> +Flushes the X event queue in the X11 implementation. This normally +returns almost immediately. Does nothing on other platforms. +<p> <p>See also <a href="#syncX">syncX</a>(). + +<p>Example: <a href="xform-example.html#x1217">xform/xform.cpp</a>. +<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="focusWidget"></a>QApplication::focusWidget () const +</h3> + +<p> Returns the application widget that has the keyboard input focus, or +0 if no widget in this application has the focus. +<p> <p>See also <a href="qwidget.html#setFocus">QWidget::setFocus</a>(), <a href="qwidget.html#focus-prop">QWidget::focus</a>, and <a href="#activeWindow">activeWindow</a>(). + +<h3 class=fn><a href="qfont.html">QFont</a> <a name="font"></a>QApplication::font ( const <a href="qwidget.html">QWidget</a> * w = 0 )<tt> [static]</tt> +</h3> +Returns the default font for the widget <em>w</em>, or the default +application font if <em>w</em> is 0. +<p> <p>See also <a href="#setFont">setFont</a>(), <a href="#fontMetrics">fontMetrics</a>(), and <a href="qwidget.html#font-prop">QWidget::font</a>. + +<p>Examples: <a href="qfd-example.html#x1979">qfd/fontdisplayer.cpp</a>, <a href="themes-example.html#x264">themes/metal.cpp</a>, and <a href="themes-example.html#x321">themes/themes.cpp</a>. +<h3 class=fn><a href="qfontmetrics.html">QFontMetrics</a> <a name="fontMetrics"></a>QApplication::fontMetrics ()<tt> [static]</tt> +</h3> +Returns display (screen) font metrics for the application font. +<p> <p>See also <a href="#font">font</a>(), <a href="#setFont">setFont</a>(), <a href="qwidget.html#fontMetrics">QWidget::fontMetrics</a>(), and <a href="qpainter.html#fontMetrics">QPainter::fontMetrics</a>(). + +<h3 class=fn><a href="qsize.html">QSize</a> <a name="globalStrut"></a>QApplication::globalStrut ()<tt> [static]</tt> +</h3> + +<p> Returns the application's global strut. +<p> The strut is a size object whose dimensions are the minimum that any +GUI element that the user can interact with should have. For example +no button should be resized to be smaller than the global strut size. +<p> <p>See also <a href="#setGlobalStrut">setGlobalStrut</a>(). + +<h3 class=fn>void <a name="guiThreadAwake"></a>QApplication::guiThreadAwake ()<tt> [signal]</tt> +</h3> + +<p> This signal is emitted after the event loop returns from a function +that could block. +<p> <p>See also <a href="#wakeUpGuiThread">wakeUpGuiThread</a>(). + +<h3 class=fn>bool <a name="hasGlobalMouseTracking"></a>QApplication::hasGlobalMouseTracking ()<tt> [static]</tt> +</h3> + +<p> Returns TRUE if global mouse tracking is enabled; otherwise +returns FALSE. +<p> <p>See also <a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>(). + +<h3 class=fn>bool <a name="hasPendingEvents"></a>QApplication::hasPendingEvents () +</h3> +This function returns TRUE if there are pending events; otherwise +returns FALSE. Pending events can be either from the window system +or posted events using <a href="#postEvent">QApplication::postEvent</a>(). + +<h3 class=fn>int <a name="horizontalAlignment"></a>QApplication::horizontalAlignment ( int align )<tt> [static]</tt> +</h3> + +<p> Strips out vertical alignment flags and transforms an +alignment <em>align</em> of AlignAuto into AlignLeft or +AlignRight according to the language used. The other horizontal +alignment flags are left untouched. + +<h3 class=fn>void <a name="installTranslator"></a>QApplication::installTranslator ( <a href="qtranslator.html">QTranslator</a> * mf ) +</h3> +Adds the message file <em>mf</em> to the list of message files to be used +for translations. +<p> Multiple message files can be installed. Translations are searched +for in the last installed message file, then the one from last, and +so on, back to the first installed message file. The search stops as +soon as a matching translation is found. +<p> <p>See also <a href="#removeTranslator">removeTranslator</a>(), <a href="#translate">translate</a>(), and <a href="qtranslator.html#load">QTranslator::load</a>(). + +<p>Example: <a href="i18n-example.html#x1930">i18n/main.cpp</a>. +<h3 class=fn>bool <a name="isEffectEnabled"></a>QApplication::isEffectEnabled ( <a href="qt.html#UIEffect-enum">Qt::UIEffect</a> effect )<tt> [static]</tt> +</h3> +Returns TRUE if <em>effect</em> is enabled; otherwise returns FALSE. +<p> By default, Qt will try to use the desktop settings. Call +<a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(FALSE) to prevent this. +<p> Note: All effects are disabled on screens running at less than +16-bit color depth. +<p> <p>See also <a href="#setEffectEnabled">setEffectEnabled</a>() and <a href="qt.html#UIEffect-enum">Qt::UIEffect</a>. + +<h3 class=fn>bool <a name="isSessionRestored"></a>QApplication::isSessionRestored () const +</h3> + +<p> Returns TRUE if the application has been restored from an earlier +<a href="session.html">session</a>; otherwise returns FALSE. +<p> <p>See also <a href="#sessionId">sessionId</a>(), <a href="#commitData">commitData</a>(), and <a href="#saveState">saveState</a>(). + +<h3 class=fn>void <a name="lastWindowClosed"></a>QApplication::lastWindowClosed ()<tt> [signal]</tt> +</h3> + +<p> This signal is emitted when the user has closed the last +top level window. +<p> The signal is very useful when your application has many top level +widgets but no main widget. You can then connect it to the <a href="#quit">quit</a>() +slot. +<p> For convenience, this signal is <em>not</em> emitted for transient top level +widgets such as popup menus and dialogs. +<p> <p>See also <a href="#mainWidget">mainWidget</a>(), <a href="#topLevelWidgets">topLevelWidgets</a>(), <a href="qwidget.html#isTopLevel-prop">QWidget::isTopLevel</a>, and <a href="qwidget.html#close">QWidget::close</a>(). + +<p>Examples: <a href="addressbook-example.html#x608">addressbook/main.cpp</a>, <a href="extension-dialog-example.html#x2867">extension/main.cpp</a>, <a href="helpviewer-example.html#x1039">helpviewer/main.cpp</a>, <a href="mdi-example.html#x2096">mdi/main.cpp</a>, <a href="archivesearch-example.html#x487">network/archivesearch/main.cpp</a>, <a href="qwerty-example.html#x416">qwerty/main.cpp</a>, and <a href="regexptester-example.html#x2509">regexptester/main.cpp</a>. +<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="libraryPaths"></a>QApplication::libraryPaths ()<tt> [static]</tt> +</h3> +Returns a list of paths that the application will search when +dynamically loading libraries. +The installation directory for plugins is the only entry if no +paths have been set. The default installation directory for plugins +is <tt>INSTALL/plugins</tt>, where <tt>INSTALL</tt> is the directory where Qt was +installed. The directory of the application executable (NOT the +working directory) is also added to the plugin paths. +<p> If you want to iterate over the list, you should iterate over a +copy, e.g. +<pre> + <a href="qstringlist.html">QStringList</a> list = app.libraryPaths(); + QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>(); + while( it != list.<a href="qvaluelist.html#end">end</a>() ) { + myProcessing( *it ); + ++it; + } + </pre> + +<p> See the <a href="plugins-howto.html">plugins documentation</a> for a +description of how the library paths are used. +<p> <p>See also <a href="#setLibraryPaths">setLibraryPaths</a>(), <a href="#addLibraryPath">addLibraryPath</a>(), <a href="#removeLibraryPath">removeLibraryPath</a>(), and <a href="qlibrary.html">QLibrary</a>. + +<h3 class=fn>void <a name="lock"></a>QApplication::lock () +</h3> +<p> Lock the Qt Library Mutex. If another thread has already locked the +mutex, the calling thread will block until the other thread has +unlocked the mutex. +<p> <p>See also <a href="#unlock">unlock</a>(), <a href="#locked">locked</a>(), and <a href="threads.html">Thread Support in Qt</a>. + +<h3 class=fn>bool <a name="locked"></a>QApplication::locked () +</h3> +<p> Returns TRUE if the Qt Library Mutex is locked by a different thread; +otherwise returns FALSE. +<p> <b>Warning:</b> Due to different implementations of recursive mutexes on +the supported platforms, calling this function from the same thread +that previously locked the mutex will give undefined results. +<p> <p>See also <a href="#lock">lock</a>(), <a href="#unlock">unlock</a>(), and <a href="threads.html">Thread Support in Qt</a>. + +<h3 class=fn>int <a name="loopLevel"></a>QApplication::loopLevel () const +</h3> +<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> Returns the current loop level. +<p> Use <a href="#eventLoop">QApplication::eventLoop</a>()->loopLevel() instead. +<p> +<h3 class=fn>bool <a name="macEventFilter"></a>QApplication::macEventFilter ( EventHandlerCallRef, EventRef )<tt> [virtual]</tt> +</h3> +This virtual function is only implemented under Macintosh. +<p> If you create an application that inherits QApplication and +reimplement this function, you get direct access to all Carbon Events +that are received from the MacOS. +<p> Return TRUE if you want to stop the event from being processed. +Return FALSE for normal event dispatching. + +<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="mainWidget"></a>QApplication::mainWidget () const +</h3> + +<p> Returns the main application widget, or 0 if there is no main +widget. +<p> <p>See also <a href="#setMainWidget">setMainWidget</a>(). + +<h3 class=fn>bool <a name="notify"></a>QApplication::notify ( <a href="qobject.html">QObject</a> * receiver, <a href="qevent.html">QEvent</a> * e )<tt> [virtual]</tt> +</h3> +Sends event <em>e</em> to <em>receiver</em>: <em>receiver</em>->event(<em>e</em>). +Returns the value that is returned from the receiver's event handler. +<p> For certain types of events (e.g. mouse and key events), +the event will be propagated to the receiver's parent and so on up to +the top-level object if the receiver is not interested in the event +(i.e., it returns FALSE). +<p> There are five different ways that events can be processed; +reimplementing this virtual function is just one of them. All five +approaches are listed below: +<ol type=1> +<li> Reimplementing this function. This is very powerful, providing +complete control; but only one subclass can be qApp. +<p> <li> Installing an event filter on qApp. Such an event filter is able +to process all events for all widgets, so it's just as powerful as +reimplementing <a href="#notify">notify</a>(); furthermore, it's possible to have more +than one application-global event filter. Global event filters even +see mouse events for <a href="qwidget.html#isEnabled">disabled + widgets,</a> and if <a href="#setGlobalMouseTracking">global mouse + tracking</a> is enabled, as well as mouse move events for all +widgets. +<p> <li> Reimplementing <a href="qobject.html#event">QObject::event</a>() (as <a href="qwidget.html">QWidget</a> does). If you do +this you get Tab key presses, and you get to see the events before +any widget-specific event filters. +<p> <li> Installing an event filter on the object. Such an event filter +gets all the events except Tab and Shift-Tab key presses. +<p> <li> Reimplementing paintEvent(), mousePressEvent() and so +on. This is the commonest, easiest and least powerful way. +</ol> +<p> <p>See also <a href="qobject.html#event">QObject::event</a>() and <a href="qobject.html#installEventFilter">installEventFilter</a>(). + +<h3 class=fn><a href="qcursor.html">QCursor</a> * <a name="overrideCursor"></a>QApplication::overrideCursor ()<tt> [static]</tt> +</h3> + +<p> Returns the active application override cursor. +<p> This function returns 0 if no application cursor has been defined +(i.e. the internal cursor stack is empty). +<p> <p>See also <a href="#setOverrideCursor">setOverrideCursor</a>() and <a href="#restoreOverrideCursor">restoreOverrideCursor</a>(). + +<h3 class=fn><a href="qpalette.html">QPalette</a> <a name="palette"></a>QApplication::palette ( const <a href="qwidget.html">QWidget</a> * w = 0 )<tt> [static]</tt> +</h3> +Returns the application palette. +<p> If a widget is passed in <em>w</em>, the default palette for the +widget's class is returned. This may or may not be the application +palette. In most cases there isn't a special palette for certain +types of widgets, but one notable exception is the popup menu under +Windows, if the user has defined a special background color for +menus in the display settings. +<p> <p>See also <a href="#setPalette">setPalette</a>() and <a href="qwidget.html#palette-prop">QWidget::palette</a>. + +<p>Examples: <a href="desktop-example.html#x1723">desktop/desktop.cpp</a>, <a href="themes-example.html#x265">themes/metal.cpp</a>, and <a href="themes-example.html#x186">themes/wood.cpp</a>. +<h3 class=fn>void <a name="polish"></a>QApplication::polish ( <a href="qwidget.html">QWidget</a> * w )<tt> [virtual]</tt> +</h3> +Initialization of the appearance of the widget <em>w</em> <em>before</em> it is first +shown. +<p> Usually widgets call this automatically when they are polished. It +may be used to do some style-based central customization of widgets. +<p> Note that you are not limited to the public functions of <a href="qwidget.html">QWidget</a>. +Instead, based on meta information like <a href="qobject.html#className">QObject::className</a>() you are +able to customize any kind of widget. +<p> <p>See also <a href="qstyle.html#polish">QStyle::polish</a>(), <a href="qwidget.html#polish">QWidget::polish</a>(), <a href="#setPalette">setPalette</a>(), and <a href="#setFont">setFont</a>(). + +<h3 class=fn>void <a name="postEvent"></a>QApplication::postEvent ( <a href="qobject.html">QObject</a> * receiver, <a href="qevent.html">QEvent</a> * event )<tt> [static]</tt> +</h3><p><b>Note:</b> This function is <a href="threads.html#threadsafe">thread-safe</a> when Qt is built withthread support.</p> + +Adds the event <em>event</em> with the object <em>receiver</em> as the receiver of the +event, to an event queue and returns immediately. +<p> The event must be allocated on the heap since the post event queue +will take ownership of the event and delete it once it has been posted. +<p> When control returns to the main event loop, all events that are +stored in the queue will be sent using the <a href="#notify">notify</a>() function. +<p> +<p> <p>See also <a href="#sendEvent">sendEvent</a>() and <a href="#notify">notify</a>(). + +<h3 class=fn>void <a name="processEvents"></a>QApplication::processEvents () +</h3> +Processes pending events, for 3 seconds or until there are no more +events to process, whichever is shorter. +<p> You can call this function occasionally when your program is busy +performing a long operation (e.g. copying a file). +<p> <p>See also <a href="#exec">exec</a>(), <a href="qtimer.html">QTimer</a>, and <a href="qeventloop.html#processEvents">QEventLoop::processEvents</a>(). + +<p>Examples: <a href="fileiconview-example.html#x808">fileiconview/qfileiconview.cpp</a> and <a href="ftpclient-example.html#x778">network/ftpclient/main.cpp</a>. +<h3 class=fn>void <a name="processEvents-2"></a>QApplication::processEvents ( int maxtime ) +</h3> +This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +<p> Processes pending events for <em>maxtime</em> milliseconds or until +there are no more events to process, whichever is shorter. +<p> You can call this function occasionally when you program is busy +doing a long operation (e.g. copying a file). +<p> <p>See also <a href="#exec">exec</a>(), <a href="qtimer.html">QTimer</a>, and <a href="qeventloop.html#processEvents">QEventLoop::processEvents</a>(). + +<h3 class=fn>void <a name="processOneEvent"></a>QApplication::processOneEvent () +</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> Waits for an event to occur, processes it, then returns. +<p> This function is useful for adapting Qt to situations where the +event processing must be grafted onto existing program loops. +<p> Using this function in new applications may be an indication of design +problems. +<p> <p>See also <a href="#processEvents">processEvents</a>(), <a href="#exec">exec</a>(), and <a href="qtimer.html">QTimer</a>. + +<h3 class=fn>void <a name="quit"></a>QApplication::quit ()<tt> [slot]</tt> +</h3> +Tells the application to exit with return code 0 (success). +Equivalent to calling <a href="#exit">QApplication::exit</a>( 0 ). +<p> It's common to connect the <a href="#lastWindowClosed">lastWindowClosed</a>() signal to <a href="#quit">quit</a>(), and +you also often connect e.g. <a href="qbutton.html#clicked">QButton::clicked</a>() or signals in +<a href="qaction.html">QAction</a>, <a href="qpopupmenu.html">QPopupMenu</a> or <a href="qmenubar.html">QMenuBar</a> to it. +<p> Example: +<pre> + <a href="qpushbutton.html">QPushButton</a> *quitButton = new <a href="qpushbutton.html">QPushButton</a>( "Quit" ); + <a href="qobject.html#connect">connect</a>( quitButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="#quit">quit</a>()) ); + </pre> + +<p> <p>See also <a href="#exit">exit</a>(), <a href="#aboutToQuit">aboutToQuit</a>(), <a href="#lastWindowClosed">lastWindowClosed</a>(), and <a href="qaction.html">QAction</a>. + +<p>Examples: <a href="addressbook-example.html#x609">addressbook/main.cpp</a>, <a href="mdi-example.html#x2097">mdi/main.cpp</a>, <a href="archivesearch-example.html#x488">network/archivesearch/main.cpp</a>, <a href="regexptester-example.html#x2510">regexptester/main.cpp</a>, <a href="tutorial1-02.html#x2288">t2/main.cpp</a>, <a href="tutorial1-04.html#x2304">t4/main.cpp</a>, and <a href="tutorial1-06.html#x2321">t6/main.cpp</a>. +<h3 class=fn><a href="qwsdecoration.html">QWSDecoration</a> & <a name="qwsDecoration"></a>QApplication::qwsDecoration ()<tt> [static]</tt> +</h3> +Return the <a href="qwsdecoration.html">QWSDecoration</a> used for decorating windows. +<p> This method is non-portable. It is available <em>only</em> in Qt/Embedded. +<p> <p>See also <a href="qwsdecoration.html">QWSDecoration</a>. + +<h3 class=fn>bool <a name="qwsEventFilter"></a>QApplication::qwsEventFilter ( QWSEvent * )<tt> [virtual]</tt> +</h3> +This virtual function is only implemented under Qt/Embedded. +<p> If you create an application that inherits QApplication and +reimplement this function, you get direct access to all QWS (Q +Window System) events that the are received from the QWS master +process. +<p> Return TRUE if you want to stop the event from being processed. +Return FALSE for normal event dispatching. + +<h3 class=fn>void <a name="qwsSetCustomColors"></a>QApplication::qwsSetCustomColors ( QRgb * colorTable, int start, int numColors ) +</h3> +Set Qt/Embedded custom color table. +<p> Qt/Embedded on 8-bpp displays allocates a standard 216 color cube. +The remaining 40 colors may be used by setting a custom color +table in the QWS master process before any clients connect. +<p> <em>colorTable</em> is an array of up to 40 custom colors. <em>start</em> is +the starting index (0-39) and <em>numColors</em> is the number of colors +to be set (1-40). +<p> This method is non-portable. It is available <em>only</em> in +Qt/Embedded. + +<h3 class=fn>void <a name="qwsSetDecoration"></a>QApplication::qwsSetDecoration ( <a href="qwsdecoration.html">QWSDecoration</a> * d )<tt> [static]</tt> +</h3> +Set the <a href="qwsdecoration.html">QWSDecoration</a> derived class to use for decorating the +Qt/Embedded windows to <em>d</em>. +<p> This method is non-portable. It is available <em>only</em> in +Qt/Embedded. +<p> <p>See also <a href="qwsdecoration.html">QWSDecoration</a>. + +<h3 class=fn>void <a name="removeLibraryPath"></a>QApplication::removeLibraryPath ( const <a href="qstring.html">QString</a> & path )<tt> [static]</tt> +</h3> +Removes <em>path</em> from the library path list. If <em>path</em> is empty or not +in the path list, the list is not changed. +<p> <p>See also <a href="#addLibraryPath">addLibraryPath</a>(), <a href="#libraryPaths">libraryPaths</a>(), and <a href="#setLibraryPaths">setLibraryPaths</a>(). + +<h3 class=fn>void <a name="removePostedEvents"></a>QApplication::removePostedEvents ( <a href="qobject.html">QObject</a> * receiver )<tt> [static]</tt> +</h3><p><b>Note:</b> This function is <a href="threads.html#threadsafe">thread-safe</a> when Qt is built withthread support.</p> + +Removes all events posted using <a href="#postEvent">postEvent</a>() for <em>receiver</em>. +<p> The events are <em>not</em> dispatched, instead they are removed from the +queue. You should never need to call this function. If you do call it, +be aware that killing events may cause <em>receiver</em> to break one or +more invariants. +<p> + +<h3 class=fn>void <a name="removeTranslator"></a>QApplication::removeTranslator ( <a href="qtranslator.html">QTranslator</a> * mf ) +</h3> +Removes the message file <em>mf</em> from the list of message files used by +this application. (It does not delete the message file from the file +system.) +<p> <p>See also <a href="#installTranslator">installTranslator</a>(), <a href="#translate">translate</a>(), and <a href="qobject.html#tr">QObject::tr</a>(). + +<p>Example: <a href="i18n-example.html#x1932">i18n/main.cpp</a>. +<h3 class=fn>void <a name="restoreOverrideCursor"></a>QApplication::restoreOverrideCursor ()<tt> [static]</tt> +</h3> +Undoes the last <a href="#setOverrideCursor">setOverrideCursor</a>(). +<p> If setOverrideCursor() has been called twice, calling +<a href="#restoreOverrideCursor">restoreOverrideCursor</a>() will activate the first cursor set. +Calling this function a second time restores the original widgets' +cursors. +<p> <p>See also <a href="#setOverrideCursor">setOverrideCursor</a>() and <a href="#overrideCursor">overrideCursor</a>(). + +<p>Examples: <a href="distributor-example.html#x2652">distributor/distributor.ui.h</a>, <a href="archivesearch-example.html#x473">network/archivesearch/archivedialog.ui.h</a>, <a href="ftpclient-example.html#x737">network/ftpclient/ftpmainwindow.ui.h</a>, and <a href="showimg-example.html#x1311">showimg/showimg.cpp</a>. +<h3 class=fn>bool <a name="reverseLayout"></a>QApplication::reverseLayout ()<tt> [static]</tt> +</h3> +Returns TRUE if all dialogs and widgets will be laid out in a +mirrored (right to left) fashion. Returns FALSE if dialogs and +widgets will be laid out left to right. +<p> <p>See also <a href="#setReverseLayout">setReverseLayout</a>(). + +<h3 class=fn>void <a name="saveState"></a>QApplication::saveState ( <a href="qsessionmanager.html">QSessionManager</a> & sm )<tt> [virtual]</tt> +</h3> + +<p> This function deals with <a href="session.html">session + management</a>. It is invoked when the +<a href="qsessionmanager.html">session manager</a> wants the application +to preserve its state for a future session. +<p> For example, a text editor would create a temporary file that +includes the current contents of its edit buffers, the location of +the cursor and other aspects of the current editing session. +<p> Note that you should never exit the application within this +function. Instead, the session manager may or may not do this +afterwards, depending on the context. Futhermore, most session +managers will very likely request a saved state immediately after +the application has been started. This permits the session manager +to learn about the application's restart policy. +<p> <b>Warning:</b> Within this function, no user interaction is possible, <em>unless</em> you ask the session manager <em>sm</em> for explicit permission. +See <a href="qsessionmanager.html#allowsInteraction">QSessionManager::allowsInteraction</a>() and +<a href="qsessionmanager.html#allowsErrorInteraction">QSessionManager::allowsErrorInteraction</a>() for details. +<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>(), <a href="#commitData">commitData</a>(), and <a href="session.html">the Session Management overview</a>. + +<h3 class=fn>bool <a name="sendEvent"></a>QApplication::sendEvent ( <a href="qobject.html">QObject</a> * receiver, <a href="qevent.html">QEvent</a> * event )<tt> [static]</tt> +</h3> + +<p> Sends event <em>event</em> directly to receiver <em>receiver</em>, using the +<a href="#notify">notify</a>() function. Returns the value that was returned from the event +handler. +<p> The event is <em>not</em> deleted when the event has been sent. The normal +approach is to create the event on the stack, e.g. +<pre> + <a href="qmouseevent.html">QMouseEvent</a> me( QEvent::MouseButtonPress, pos, 0, 0 ); + QApplication::<a href="#sendEvent">sendEvent</a>( mainWindow, &me ); + </pre> + +If you create the event on the heap you must delete it. +<p> <p>See also <a href="#postEvent">postEvent</a>() and <a href="#notify">notify</a>(). + +<p>Example: <a href="popup-example.html#x1602">popup/popup.cpp</a>. +<h3 class=fn>void <a name="sendPostedEvents"></a>QApplication::sendPostedEvents ( <a href="qobject.html">QObject</a> * receiver, int event_type )<tt> [static]</tt> +</h3> +Immediately dispatches all events which have been previously queued +with <a href="#postEvent">QApplication::postEvent</a>() and which are for the object <em>receiver</em> +and have the event type <em>event_type</em>. +<p> Note that events from the window system are <em>not</em> dispatched by this +function, but by <a href="#processEvents">processEvents</a>(). +<p> If <em>receiver</em> is null, the events of <em>event_type</em> are sent for all +objects. If <em>event_type</em> is 0, all the events are sent for <em>receiver</em>. + +<h3 class=fn>void <a name="sendPostedEvents-2"></a>QApplication::sendPostedEvents ()<tt> [static]</tt> +</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +<p> Dispatches all posted events, i.e. empties the event queue. + +<h3 class=fn><a href="qstring.html">QString</a> <a name="sessionId"></a>QApplication::sessionId () const +</h3> + +<p> Returns the current <a href="session.html">session's</a> identifier. +<p> If the application has been restored from an earlier session, this +identifier is the same as it was in that previous session. +<p> The session identifier is guaranteed to be unique both for different +applications and for different instances of the same application. +<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionKey">sessionKey</a>(), <a href="#commitData">commitData</a>(), and <a href="#saveState">saveState</a>(). + +<h3 class=fn><a href="qstring.html">QString</a> <a name="sessionKey"></a>QApplication::sessionKey () const +</h3> + +<p> Returns the session key in the current <a href="session.html">session</a>. +<p> If the application has been restored from an earlier session, this +key is the same as it was when the previous session ended. +<p> The session key changes with every call of <a href="#commitData">commitData</a>() or +<a href="#saveState">saveState</a>(). +<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>(), <a href="#commitData">commitData</a>(), and <a href="#saveState">saveState</a>(). + +<h3 class=fn>void <a name="setColorSpec"></a>QApplication::setColorSpec ( int spec )<tt> [static]</tt> +</h3> +Sets the color specification for the application to <em>spec</em>. +<p> The color specification controls how the application allocates colors +when run on a display with a limited amount of colors, e.g. 8 bit / 256 +color displays. +<p> The color specification must be set before you create the QApplication +object. +<p> The options are: +<ul> +<li> QApplication::NormalColor. +This is the default color allocation strategy. Use this option if +your application uses buttons, menus, texts and pixmaps with few +colors. With this option, the application uses system global +colors. This works fine for most applications under X11, but on +Windows machines it may cause dithering of non-standard colors. +<li> QApplication::CustomColor. +Use this option if your application needs a small number of custom +colors. On X11, this option is the same as NormalColor. On Windows, Qt +creates a Windows palette, and allocates colors to it on demand. +<li> QApplication::ManyColor. +Use this option if your application is very color hungry +(e.g. it requires thousands of colors). +Under X11 the effect is: +<ul> +<li> For 256-color displays which have at best a 256 color true color +visual, the default visual is used, and colors are allocated +from a color cube. The color cube is the 6x6x6 (216 color) "Web +palette"<sup>*</sup>, but the number of colors can be changed +by the <em>-ncols</em> option. The user can force the application to +use the true color visual with the <a href="#QApplication">-visual</a> option. +<li> For 256-color displays which have a true color visual with more +than 256 colors, use that visual. Silicon Graphics X servers +have this feature, for example. They provide an 8 bit visual +by default but can deliver true color when asked. +</ul> +On Windows, Qt creates a Windows palette, and fills it with a color cube. +</ul> +<p> Be aware that the CustomColor and ManyColor choices may lead to colormap +flashing: The foreground application gets (most) of the available +colors, while the background windows will look less attractive. +<p> Example: +<pre> + int main( int argc, char **argv ) + { + QApplication::<a href="#setColorSpec">setColorSpec</a>( QApplication::<a href="#ColorSpec-enum">ManyColor</a> ); + QApplication a( argc, argv ); + ... + } + </pre> + +<p> <a href="qcolor.html">QColor</a> provides more functionality for controlling color allocation and +freeing up certain colors. See <a href="qcolor.html#enterAllocContext">QColor::enterAllocContext</a>() for more +information. +<p> To check what mode you end up with, call <a href="qcolor.html#numBitPlanes">QColor::numBitPlanes</a>() once +the QApplication object exists. A value greater than 8 (typically +16, 24 or 32) means true color. +<p> <sup>*</sup> The color cube used by Qt has 216 colors whose red, +green, and blue components always have one of the following values: +0x00, 0x33, 0x66, 0x99, 0xCC, or 0xFF. +<p> <p>See also <a href="#colorSpec">colorSpec</a>(), <a href="qcolor.html#numBitPlanes">QColor::numBitPlanes</a>(), and <a href="qcolor.html#enterAllocContext">QColor::enterAllocContext</a>(). + +<p>Examples: <a href="helpviewer-example.html#x1041">helpviewer/main.cpp</a>, <a href="qaxserver-example-opengl.html#x2732">opengl/main.cpp</a>, <a href="showimg-example.html#x1361">showimg/main.cpp</a>, <a href="tutorial1-09.html#x2347">t9/main.cpp</a>, <a href="qaxserver-example-tetrax.html#x2716">tetrax/tetrax.cpp</a>, <a href="tetrix-example.html#x354">tetrix/tetrix.cpp</a>, and <a href="themes-example.html#x348">themes/main.cpp</a>. +<h3 class=fn>void <a name="setCursorFlashTime"></a>QApplication::setCursorFlashTime ( int msecs )<tt> [static]</tt> +</h3> +Sets the text cursor's flash (blink) time to <em>msecs</em> +milliseconds. The flash time is the time required to display, +invert and restore the caret display. Usually the text cursor is +displayed for <em>msecs/2</em> milliseconds, then hidden for <em>msecs/2</em> +milliseconds, but this may vary. +<p> Note that on Microsoft Windows, calling this function sets the +cursor flash time for all windows. +<p> <p>See also <a href="#cursorFlashTime">cursorFlashTime</a>(). + +<h3 class=fn>void <a name="setDefaultCodec"></a>QApplication::setDefaultCodec ( <a href="qtextcodec.html">QTextCodec</a> * codec ) +</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> This is the same as <a href="qtextcodec.html#setCodecForTr">QTextCodec::setCodecForTr</a>(). + +<h3 class=fn>void <a name="setDesktopSettingsAware"></a>QApplication::setDesktopSettingsAware ( bool on )<tt> [static]</tt> +</h3> +By default, Qt will try to use the current standard colors, fonts +etc., from the underlying window system's desktop settings, +and use them for all relevant widgets. This behavior can be switched off +by calling this function with <em>on</em> set to FALSE. +<p> This static function must be called before creating the QApplication +object, like this: +<p> <pre> + int main( int argc, char** argv ) { + QApplication::<a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>( FALSE ); // I know better than the user + QApplication myApp( argc, argv ); // Use default fonts & colors + ... + } + </pre> + +<p> <p>See also <a href="#desktopSettingsAware">desktopSettingsAware</a>(). + +<h3 class=fn>void <a name="setDoubleClickInterval"></a>QApplication::setDoubleClickInterval ( int ms )<tt> [static]</tt> +</h3> +Sets the time limit that distinguishes a double click from two +consecutive mouse clicks to <em>ms</em> milliseconds. +<p> Note that on Microsoft Windows, calling this function sets the +double click interval for all windows. +<p> <p>See also <a href="#doubleClickInterval">doubleClickInterval</a>(). + +<h3 class=fn>void <a name="setEffectEnabled"></a>QApplication::setEffectEnabled ( <a href="qt.html#UIEffect-enum">Qt::UIEffect</a> effect, bool enable = TRUE )<tt> [static]</tt> +</h3> +Enables the UI effect <em>effect</em> if <em>enable</em> is TRUE, otherwise +the effect will not be used. +<p> Note: All effects are disabled on screens running at less than +16-bit color depth. +<p> <p>See also <a href="#isEffectEnabled">isEffectEnabled</a>(), <a href="qt.html#UIEffect-enum">Qt::UIEffect</a>, and <a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(). + +<h3 class=fn>void <a name="setFont"></a>QApplication::setFont ( const <a href="qfont.html">QFont</a> & font, bool informWidgets = FALSE, const char * className = 0 )<tt> [static]</tt> +</h3> Changes the default application font to <em>font</em>. If <em>informWidgets</em> is TRUE, then existing widgets are informed about the +change and may adjust themselves to the new application +setting. If <em>informWidgets</em> is FALSE, the change only affects newly +created widgets. If <em>className</em> is passed, the change applies only +to classes that inherit <em>className</em> (as reported by +<a href="qobject.html#inherits">QObject::inherits</a>()). +<p> On application start-up, the default font depends on the window +system. It can vary depending on both the window system version and +the locale. This function lets you override the default font; but +overriding may be a bad idea because, for example, some locales need +extra-large fonts to support their special characters. +<p> <p>See also <a href="#font">font</a>(), <a href="#fontMetrics">fontMetrics</a>(), and <a href="qwidget.html#font-prop">QWidget::font</a>. + +<p>Examples: <a href="desktop-example.html#x1724">desktop/desktop.cpp</a>, <a href="themes-example.html#x266">themes/metal.cpp</a>, and <a href="themes-example.html#x323">themes/themes.cpp</a>. +<h3 class=fn>void <a name="setGlobalMouseTracking"></a>QApplication::setGlobalMouseTracking ( bool enable )<tt> [static]</tt> +</h3> +Enables global mouse tracking if <em>enable</em> is TRUE, or disables it +if <em>enable</em> is FALSE. +<p> Enabling global mouse tracking makes it possible for widget event +filters or application event filters to get all mouse move events, +even when no button is depressed. This is useful for special GUI +elements, e.g. tooltips. +<p> Global mouse tracking does not affect widgets and their +mouseMoveEvent(). For a widget to get mouse move events when no +button is depressed, it must do <a href="qwidget.html#setMouseTracking">QWidget::setMouseTracking</a>(TRUE). +<p> This function uses an internal counter. Each +<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>(TRUE) must have a corresponding +setGlobalMouseTracking(FALSE): +<pre> + // at this point global mouse tracking is off + QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( TRUE ); + QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( TRUE ); + QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( FALSE ); + // at this point it's still on + QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( FALSE ); + // but now it's off + </pre> + +<p> <p>See also <a href="#hasGlobalMouseTracking">hasGlobalMouseTracking</a>() and <a href="qwidget.html#mouseTracking-prop">QWidget::mouseTracking</a>. + +<h3 class=fn>void <a name="setGlobalStrut"></a>QApplication::setGlobalStrut ( const <a href="qsize.html">QSize</a> & strut )<tt> [static]</tt> +</h3> +Sets the application's global strut to <em>strut</em>. +<p> The strut is a size object whose dimensions are the minimum that any +GUI element that the user can interact with should have. For example +no button should be resized to be smaller than the global strut size. +<p> The strut size should be considered when reimplementing GUI controls +that may be used on touch-screens or similar IO-devices. +<p> Example: +<pre> + QSize& WidgetClass::sizeHint() const + { + return QSize( 80, 25 ).expandedTo( QApplication::<a href="#globalStrut">globalStrut</a>() ); + } + </pre> + +<p> <p>See also <a href="#globalStrut">globalStrut</a>(). + +<h3 class=fn>void <a name="setLibraryPaths"></a>QApplication::setLibraryPaths ( const <a href="qstringlist.html">QStringList</a> & paths )<tt> [static]</tt> +</h3> +Sets the list of directories to search when loading libraries to <em>paths</em>. +All existing paths will be deleted and the path list will consist of the +paths given in <em>paths</em>. +<p> <p>See also <a href="#libraryPaths">libraryPaths</a>(), <a href="#addLibraryPath">addLibraryPath</a>(), <a href="#removeLibraryPath">removeLibraryPath</a>(), and <a href="qlibrary.html">QLibrary</a>. + +<h3 class=fn>void <a name="setMainWidget"></a>QApplication::setMainWidget ( <a href="qwidget.html">QWidget</a> * mainWidget )<tt> [virtual]</tt> +</h3> +Sets the application's main widget to <em>mainWidget</em>. +<p> In most respects the main widget is like any other widget, except +that if it is closed, the application exits. Note that +QApplication does <em>not</em> take ownership of the <em>mainWidget</em>, so +if you create your main widget on the heap you must delete it +yourself. +<p> You need not have a main widget; connecting <a href="#lastWindowClosed">lastWindowClosed</a>() to +<a href="#quit">quit</a>() is an alternative. +<p> For X11, this function also resizes and moves the main widget +according to the <em>-geometry</em> command-line option, so you should +set the default geometry (using <a href="qwidget.html#setGeometry">QWidget::setGeometry</a>()) before +calling <a href="#setMainWidget">setMainWidget</a>(). +<p> <p>See also <a href="#mainWidget">mainWidget</a>(), <a href="#exec">exec</a>(), and <a href="#quit">quit</a>(). + +<p>Examples: <a href="tutorial2-04.html#x2560">chart/main.cpp</a>, <a href="helpsystem-example.html#x2701">helpsystem/main.cpp</a>, <a href="qdialog.html#x2133">life/main.cpp</a>, <a href="ftpclient-example.html#x779">network/ftpclient/main.cpp</a>, <a href="qaxserver-example-opengl.html#x2733">opengl/main.cpp</a>, <a href="tutorial1-01.html#x2284">t1/main.cpp</a>, and <a href="tutorial1-04.html#x2305">t4/main.cpp</a>. +<h3 class=fn>void <a name="setOverrideCursor"></a>QApplication::setOverrideCursor ( const <a href="qcursor.html">QCursor</a> & cursor, bool replace = FALSE )<tt> [static]</tt> +</h3> +Sets the application override cursor to <em>cursor</em>. +<p> Application override cursors are intended for showing the user +that the application is in a special state, for example during an +operation that might take some time. +<p> This cursor will be displayed in all the application's widgets +until <a href="#restoreOverrideCursor">restoreOverrideCursor</a>() or another <a href="#setOverrideCursor">setOverrideCursor</a>() is +called. +<p> Application cursors are stored on an internal stack. +setOverrideCursor() pushes the cursor onto the stack, and +restoreOverrideCursor() pops the active cursor off the stack. +Every setOverrideCursor() must eventually be followed by a +corresponding restoreOverrideCursor(), otherwise the stack will +never be emptied. +<p> If <em>replace</em> is TRUE, the new cursor will replace the last +override cursor (the stack keeps its depth). If <em>replace</em> is +FALSE, the new stack is pushed onto the top of the stack. +<p> Example: +<pre> + QApplication::<a href="#setOverrideCursor">setOverrideCursor</a>( QCursor(Qt::<a href="qt.html#CursorShape-enum">WaitCursor</a>) ); + calculateHugeMandelbrot(); // lunch time... + QApplication::<a href="#restoreOverrideCursor">restoreOverrideCursor</a>(); + </pre> + +<p> <p>See also <a href="#overrideCursor">overrideCursor</a>(), <a href="#restoreOverrideCursor">restoreOverrideCursor</a>(), and <a href="qwidget.html#cursor-prop">QWidget::cursor</a>. + +<p>Examples: <a href="distributor-example.html#x2653">distributor/distributor.ui.h</a>, <a href="archivesearch-example.html#x474">network/archivesearch/archivedialog.ui.h</a>, <a href="ftpclient-example.html#x738">network/ftpclient/ftpmainwindow.ui.h</a>, and <a href="showimg-example.html#x1312">showimg/showimg.cpp</a>. +<h3 class=fn>void <a name="setPalette"></a>QApplication::setPalette ( const <a href="qpalette.html">QPalette</a> & palette, bool informWidgets = FALSE, const char * className = 0 )<tt> [static]</tt> +</h3> +Changes the default application palette to <em>palette</em>. If <em>informWidgets</em> is TRUE, then existing widgets are informed about the +change and may adjust themselves to the new application +setting. If <em>informWidgets</em> is FALSE, the change only affects newly +created widgets. +<p> If <em>className</em> is passed, the change applies only to widgets that +inherit <em>className</em> (as reported by <a href="qobject.html#inherits">QObject::inherits</a>()). If +<em>className</em> is left 0, the change affects all widgets, thus overriding +any previously set class specific palettes. +<p> The palette may be changed according to the current GUI style in +<a href="qstyle.html#polish">QStyle::polish</a>(). +<p> <p>See also <a href="qwidget.html#palette-prop">QWidget::palette</a>, <a href="#palette">palette</a>(), and <a href="qstyle.html#polish">QStyle::polish</a>(). + +<p>Examples: <a href="i18n-example.html#x1934">i18n/main.cpp</a>, <a href="themes-example.html#x267">themes/metal.cpp</a>, <a href="themes-example.html#x324">themes/themes.cpp</a>, and <a href="themes-example.html#x187">themes/wood.cpp</a>. +<h3 class=fn>void <a name="setReverseLayout"></a>QApplication::setReverseLayout ( bool b )<tt> [static]</tt> +</h3> +If <em>b</em> is TRUE, all dialogs and widgets will be laid out in a +mirrored fashion, as required by right to left languages such as +Arabic and Hebrew. If <em>b</em> is FALSE, dialogs and widgets are laid +out left to right. +<p> Changing this flag in runtime does not cause a relayout of already +instantiated widgets. +<p> <p>See also <a href="#reverseLayout">reverseLayout</a>(). + +<h3 class=fn>void <a name="setStartDragDistance"></a>QApplication::setStartDragDistance ( int l )<tt> [static]</tt> +</h3> +Sets the distance after which a drag should start to <em>l</em> pixels. +<p> <p>See also <a href="#startDragDistance">startDragDistance</a>(). + +<h3 class=fn>void <a name="setStartDragTime"></a>QApplication::setStartDragTime ( int ms )<tt> [static]</tt> +</h3> +Sets the time after which a drag should start to <em>ms</em> ms. +<p> <p>See also <a href="#startDragTime">startDragTime</a>(). + +<h3 class=fn>void <a name="setStyle"></a>QApplication::setStyle ( <a href="qstyle.html">QStyle</a> * style )<tt> [static]</tt> +</h3> +Sets the application's GUI style to <em>style</em>. Ownership of the style +object is transferred to QApplication, so QApplication will delete +the style object on application exit or when a new style is set. +<p> Example usage: +<pre> + QApplication::<a href="#setStyle">setStyle</a>( new <a href="qwindowsstyle.html">QWindowsStyle</a> ); + </pre> + +<p> When switching application styles, the color palette is set back to +the initial colors or the system defaults. This is necessary since +certain styles have to adapt the color palette to be fully +style-guide compliant. +<p> <p>See also <a href="#style">style</a>(), <a href="qstyle.html">QStyle</a>, <a href="#setPalette">setPalette</a>(), and <a href="#desktopSettingsAware">desktopSettingsAware</a>(). + +<p>Example: <a href="themes-example.html#x325">themes/themes.cpp</a>. +<h3 class=fn><a href="qstyle.html">QStyle</a> * <a name="setStyle-2"></a>QApplication::setStyle ( const <a href="qstring.html">QString</a> & style )<tt> [static]</tt> +</h3> +This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +<p> Requests a <a href="qstyle.html">QStyle</a> object for <em>style</em> from the <a href="qstylefactory.html">QStyleFactory</a>. +<p> The string must be one of the <a href="qstylefactory.html#keys">QStyleFactory::keys</a>(), typically one +of "windows", "motif", "cde", "motifplus", "platinum", "sgi" and +"compact". Depending on the platform, "windowsxp", "aqua" or +"macintosh" may be available. +<p> A later call to the QApplication constructor will override the +requested style when a "-style" option is passed in as a commandline +parameter. +<p> Returns 0 if an unknown <em>style</em> is passed, otherwise the QStyle object +returned is set as the application's GUI style. + +<h3 class=fn>void <a name="setWheelScrollLines"></a>QApplication::setWheelScrollLines ( int n )<tt> [static]</tt> +</h3> +Sets the number of lines to scroll when the mouse wheel is rotated +to <em>n</em>. +<p> If this number exceeds the number of visible lines in a certain +widget, the widget should interpret the scroll operation as a +single page up / page down operation instead. +<p> <p>See also <a href="#wheelScrollLines">wheelScrollLines</a>(). + +<h3 class=fn>void <a name="setWinStyleHighlightColor"></a>QApplication::setWinStyleHighlightColor ( const <a href="qcolor.html">QColor</a> & c )<tt> [static]</tt> +</h3> + +<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> Sets the color used to mark selections in windows style for all widgets +in the application. Will repaint all widgets if the color is changed. +<p> The default color is <tt>darkBlue</tt>. +<p>See also <a href="#winStyleHighlightColor">winStyleHighlightColor</a>(). + +<h3 class=fn>int <a name="startDragDistance"></a>QApplication::startDragDistance ()<tt> [static]</tt> +</h3> +If you support drag and drop in you application and a drag should +start after a mouse click and after moving the mouse a certain +distance, you should use the value which this method returns as the +distance. +<p> For example, if the mouse position of the click is stored in <tt>startPos</tt> and the current position (e.g. in the mouse move event) is +<tt>currPos</tt>, you can find out if a drag should be started with code +like this: +<pre> + if ( ( startPos - currPos ).manhattanLength() > + QApplication::<a href="#startDragDistance">startDragDistance</a>() ) + startTheDrag(); + </pre> + +<p> Qt uses this value internally, e.g. in <a href="qfiledialog.html">QFileDialog</a>. +<p> The default value is 4 pixels. +<p> <p>See also <a href="#setStartDragDistance">setStartDragDistance</a>(), <a href="#startDragTime">startDragTime</a>(), and <a href="qpoint.html#manhattanLength">QPoint::manhattanLength</a>(). + +<h3 class=fn>int <a name="startDragTime"></a>QApplication::startDragTime ()<tt> [static]</tt> +</h3> +If you support drag and drop in you application and a drag should +start after a mouse click and after a certain time elapsed, you +should use the value which this method returns as the delay (in ms). +<p> Qt also uses this delay internally, e.g. in <a href="qtextedit.html">QTextEdit</a> and <a href="qlineedit.html">QLineEdit</a>, +for starting a drag. +<p> The default value is 500 ms. +<p> <p>See also <a href="#setStartDragTime">setStartDragTime</a>() and <a href="#startDragDistance">startDragDistance</a>(). + +<h3 class=fn>bool <a name="startingUp"></a>QApplication::startingUp ()<tt> [static]</tt> +</h3> +Returns TRUE if an application object has not been created yet; +otherwise returns FALSE. +<p> <p>See also <a href="#closingDown">closingDown</a>(). + +<h3 class=fn><a href="qstyle.html">QStyle</a> & <a name="style"></a>QApplication::style ()<tt> [static]</tt> +</h3> +Returns the application's style object. +<p> <p>See also <a href="#setStyle">setStyle</a>() and <a href="qstyle.html">QStyle</a>. + +<h3 class=fn>void <a name="syncX"></a>QApplication::syncX ()<tt> [static]</tt> +</h3> +Synchronizes with the X server in the X11 implementation. This +normally takes some time. Does nothing on other platforms. +<p> <p>See also <a href="#flushX">flushX</a>(). + +<h3 class=fn>QWidgetList * <a name="topLevelWidgets"></a>QApplication::topLevelWidgets ()<tt> [static]</tt> +</h3> +Returns a list of the top level widgets in the application. +<p> The list is created using <tt>new</tt> and must be deleted by the caller. +<p> The list is empty (<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>()) if there are no top level +widgets. +<p> Note that some of the top level widgets may be hidden, for example +the tooltip if no tooltip is currently shown. +<p> Example: +<pre> + // Show all hidden top level widgets. + QWidgetList *list = QApplication::<a href="#topLevelWidgets">topLevelWidgets</a>(); + QWidgetListIt it( *list ); // iterate over the widgets + <a href="qwidget.html">QWidget</a> * w; + while ( (w=it.current()) != 0 ) { // for each top level widget... + ++it; + if ( !w-><a href="qwidget.html#isVisible">isVisible</a>() ) + w-><a href="qwidget.html#show">show</a>(); + } + delete list; // delete the list, not the widgets + </pre> + +<p> <b>Warning:</b> Delete the list as soon you have finished using it. +The widgets in the list may be deleted by someone else at any time. +<p> <p>See also <a href="#allWidgets">allWidgets</a>(), <a href="qwidget.html#isTopLevel-prop">QWidget::isTopLevel</a>, <a href="qwidget.html#visible-prop">QWidget::visible</a>, and <a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>(). + +<h3 class=fn><a href="qstring.html">QString</a> <a name="translate"></a>QApplication::translate ( const char * context, const char * sourceText, const char * comment = 0, <a href="qapplication.html#Encoding-enum">Encoding</a> encoding = DefaultCodec ) const +</h3><p><b>Note:</b> This function is <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p> + +Returns the translation text for <em>sourceText</em>, by querying the +installed messages files. The message files are searched from the most +recently installed message file back to the first installed message +file. +<p> <a href="qobject.html#tr">QObject::tr</a>() and <a href="qobject.html#trUtf8">QObject::trUtf8</a>() provide this functionality more +conveniently. +<p> <em>context</em> is typically a class name (e.g., "MyDialog") and +<em>sourceText</em> is either English text or a short identifying text, if +the output text will be very long (as for help texts). +<p> <em>comment</em> is a disambiguating comment, for when the same <em>sourceText</em> is used in different roles within the same context. By +default, it is null. <em>encoding</em> indicates the 8-bit encoding of +character stings +<p> See the <a href="qtranslator.html">QTranslator</a> documentation for more information about +contexts and comments. +<p> If none of the message files contain a translation for <em>sourceText</em> in <em>context</em>, this function returns a <a href="qstring.html">QString</a> +equivalent of <em>sourceText</em>. The encoding of <em>sourceText</em> is +specified by <em>encoding</em>; it defaults to <a href="#Encoding-enum">DefaultCodec</a>. +<p> This function is not virtual. You can use alternative translation +techniques by subclassing <a href="qtranslator.html">QTranslator</a>. +<p> <b>Warning:</b> This method is reentrant only if all translators are +installed <em>before</em> calling this method. Installing or removing +translators while performing translations is not supported. Doing +so will most likely result in crashes or other undesirable behavior. +<p> <p>See also <a href="qobject.html#tr">QObject::tr</a>(), <a href="#installTranslator">installTranslator</a>(), and <a href="#defaultCodec">defaultCodec</a>(). + +<h3 class=fn>bool <a name="tryLock"></a>QApplication::tryLock () +</h3> +<p> Attempts to lock the Qt Library Mutex, and returns immediately. If +the lock was obtained, this function returns TRUE. If another thread +has locked the mutex, this function returns FALSE, instead of +waiting for the lock to become available. +<p> The mutex must be unlocked with <a href="#unlock">unlock</a>() before another thread can +successfully lock it. +<p> <p>See also <a href="#lock">lock</a>(), <a href="#unlock">unlock</a>(), and <a href="threads.html">Thread Support in Qt</a>. + +<h3 class=fn><a href="qapplication.html#Type-enum">Type</a> <a name="type"></a>QApplication::type () const +</h3> +Returns the type of application, Tty, GuiClient or GuiServer. + +<h3 class=fn>void <a name="unlock"></a>QApplication::unlock ( bool wakeUpGui = TRUE ) +</h3> +<p> Unlock the Qt Library Mutex. If <em>wakeUpGui</em> is TRUE (the default), +then the GUI thread will be woken with <a href="#wakeUpGuiThread">QApplication::wakeUpGuiThread</a>(). +<p> <p>See also <a href="#lock">lock</a>(), <a href="#locked">locked</a>(), and <a href="threads.html">Thread Support in Qt</a>. + +<h3 class=fn>void <a name="wakeUpGuiThread"></a>QApplication::wakeUpGuiThread () +</h3> +<p> Wakes up the GUI thread. +<p> <p>See also <a href="#guiThreadAwake">guiThreadAwake</a>() and <a href="threads.html">Thread Support in Qt</a>. + +<h3 class=fn>int <a name="wheelScrollLines"></a>QApplication::wheelScrollLines ()<tt> [static]</tt> +</h3> +Returns the number of lines to scroll when the mouse wheel is +rotated. +<p> <p>See also <a href="#setWheelScrollLines">setWheelScrollLines</a>(). + +<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="widgetAt"></a>QApplication::widgetAt ( int x, int y, bool child = FALSE )<tt> [static]</tt> +</h3> +Returns a pointer to the widget at global screen position <em>(x, y)</em>, or 0 if there is no Qt widget there. +<p> If <em>child</em> is FALSE and there is a child widget at position <em>(x, y)</em>, the top-level widget containing it is returned. If <em>child</em> +is TRUE the child widget at position <em>(x, y)</em> is returned. +<p> This function is normally rather slow. +<p> <p>See also <a href="qcursor.html#pos">QCursor::pos</a>(), <a href="qwidget.html#grabMouse">QWidget::grabMouse</a>(), and <a href="qwidget.html#grabKeyboard">QWidget::grabKeyboard</a>(). + +<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="widgetAt-2"></a>QApplication::widgetAt ( const <a href="qpoint.html">QPoint</a> & pos, bool child = FALSE )<tt> [static]</tt> +</h3> +This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +<p> Returns a pointer to the widget at global screen position <em>pos</em>, +or 0 if there is no Qt widget there. +<p> If <em>child</em> is FALSE and there is a child widget at position <em>pos</em>, the top-level widget containing it is returned. If <em>child</em> +is TRUE the child widget at position <em>pos</em> is returned. + +<h3 class=fn>bool <a name="winEventFilter"></a>QApplication::winEventFilter ( MSG * )<tt> [virtual]</tt> +</h3> +This virtual function is only implemented under Windows. +<p> The message procedure calls this function for every message +received. Reimplement this function if you want to process window +messages that are not processed by Qt. If you don't want +the event to be processed by Qt, then return TRUE; otherwise +return FALSE. + +<h3 class=fn>void <a name="winFocus"></a>QApplication::winFocus ( <a href="qwidget.html">QWidget</a> * widget, bool gotFocus ) +</h3> +This function is available only on Windows. +<p> If <em>gotFocus</em> is TRUE, <em>widget</em> will become the active window. +Otherwise the active window is reset to NULL. + +<h3 class=fn>const <a href="qcolor.html">QColor</a> & <a name="winStyleHighlightColor"></a>QApplication::winStyleHighlightColor ()<tt> [static]</tt> +</h3> + +<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. +<p> Returns the color used to mark selections in windows style. +<p> <p>See also <a href="#setWinStyleHighlightColor">setWinStyleHighlightColor</a>(). + +<h3 class=fn>bool <a name="x11EventFilter"></a>QApplication::x11EventFilter ( XEvent * )<tt> [virtual]</tt> +</h3> +This virtual function is only implemented under X11. +<p> If you create an application that inherits QApplication and +reimplement this function, you get direct access to all X events +that the are received from the X server. +<p> Return TRUE if you want to stop the event from being processed. +Return FALSE for normal event dispatching. +<p> <p>See also <a href="#x11ProcessEvent">x11ProcessEvent</a>(). + +<h3 class=fn>int <a name="x11ProcessEvent"></a>QApplication::x11ProcessEvent ( XEvent * event ) +</h3> +This function does the core processing of individual X +<em>event</em>s, normally by dispatching Qt events to the right +destination. +<p> It returns 1 if the event was consumed by special handling, 0 if +the <em>event</em> was consumed by normal handling, and -1 if the <em>event</em> was for an unrecognized widget. +<p> <p>See also <a href="#x11EventFilter">x11EventFilter</a>(). + +<hr><h2>Related Functions</h2> +<h3 class=fn>void <a name="Q_ASSERT"></a>Q_ASSERT ( bool test ) +</h3> + +<p> +<p> Prints a warning message containing the source code file name and +line number if <em>test</em> is FALSE. +<p> This is really a macro defined in <a href="qglobal-h.html">qglobal.h</a>. +<p> Q_ASSERT is useful for testing pre- and post-conditions. +<p> Example: +<pre> + // + // File: div.cpp + // + + #include <<a href="qglobal-h.html">qglobal.h</a>> + + int divide( int a, int b ) + { + <a href="#Q_ASSERT">Q_ASSERT</a>( b != 0 ); // this is line 9 + return a/b; + } + </pre> + +<p> If <tt>b</tt> is zero, the Q_ASSERT statement will output the following +message using the <a href="#qWarning">qWarning</a>() function: +<pre> + ASSERT: "b != 0" in div.cpp (9) + </pre> + +<p> <p>See also <a href="#qWarning">qWarning</a>() and <a href="debug.html">Debugging</a>. + +<h3 class=fn>void <a name="Q_CHECK_PTR"></a>Q_CHECK_PTR ( void * p ) +</h3> + +<p> +<p> If <em>p</em> is 0, prints a warning message containing the source code file +name and line number, saying that the program ran out of memory. +<p> This is really a macro defined in <a href="qglobal-h.html">qglobal.h</a>. +<p> Example: +<pre> + int *a; + + <a href="#Q_CHECK_PTR">Q_CHECK_PTR</a>( a = new int[80] ); // WRONG! + + a = new (nothrow) int[80]; // Right + <a href="#Q_CHECK_PTR">Q_CHECK_PTR</a>( a ); + </pre> + +<p> <p>See also <a href="#qWarning">qWarning</a>() and <a href="debug.html">Debugging</a>. + +<h3 class=fn>void <a name="qAddPostRoutine"></a>qAddPostRoutine ( QtCleanUpFunction p ) +</h3> + +<p> Adds a global routine that will be called from the QApplication +destructor. This function is normally used to add cleanup routines +for program-wide functionality. +<p> The function given by <em>p</em> should take no arguments and return +nothing, like this: +<pre> + static int *global_ptr = 0; + + static void cleanup_ptr() + { + delete [] global_ptr; + global_ptr = 0; + } + + void init_ptr() + { + global_ptr = new int[100]; // allocate data + <a href="#qAddPostRoutine">qAddPostRoutine</a>( cleanup_ptr ); // delete later + } + </pre> + +<p> Note that for an application- or module-wide cleanup, +<a href="#qAddPostRoutine">qAddPostRoutine</a>() is often not suitable. People have a tendency to +make such modules dynamically loaded, and then unload those modules +long before the QApplication destructor is called, for example. +<p> For modules and libraries, using a reference-counted initialization +manager or Qt' parent-child delete mechanism may be better. Here is +an example of a private class which uses the parent-child mechanism +to call a cleanup function at the right time: +<p> <pre> + class MyPrivateInitStuff: public <a href="qobject.html">QObject</a> { + private: + MyPrivateInitStuff( <a href="qobject.html">QObject</a> * parent ): <a href="qobject.html">QObject</a>( parent) { + // initialization goes here + } + MyPrivateInitStuff * p; + + public: + static MyPrivateInitStuff * initStuff( <a href="qobject.html">QObject</a> * parent ) { + if ( !p ) + p = new MyPrivateInitStuff( parent ); + return p; + } + + ~MyPrivateInitStuff() { + // cleanup (the "post routine") goes here + } + } + </pre> + +<p> By selecting the right parent widget/object, this can often be made +to clean up the module's data at the exact right moment. + +<h3 class=fn>void <a name="qDebug"></a>qDebug ( const char * msg, ... ) +</h3> + +<p> +<p> Prints a debug message <em>msg</em>, or calls the message handler (if it +has been installed). +<p> This function takes a format string and a list of arguments, +similar to the C printf() function. +<p> Example: +<pre> + <a href="#qDebug">qDebug</a>( "my window handle = %x", myWidget->id() ); + </pre> + +<p> Under X11, the text is printed to stderr. Under Windows, the text +is sent to the debugger. +<p> <b>Warning:</b> The internal buffer is limited to 8196 bytes (including +the '\0'-terminator). +<p> <b>Warning:</b> Passing (const char *)0 as argument to qDebug might lead +to crashes on certain platforms due to the platforms printf implementation. +<p> <p>See also <a href="#qWarning">qWarning</a>(), <a href="#qFatal">qFatal</a>(), <a href="#qInstallMsgHandler">qInstallMsgHandler</a>(), and <a href="debug.html">Debugging</a>. + +<h3 class=fn>void <a name="qFatal"></a>qFatal ( const char * msg, ... ) +</h3> + +<p> +<p> Prints a fatal error message <em>msg</em> and exits, or calls the +message handler (if it has been installed). +<p> This function takes a format string and a list of arguments, +similar to the C printf() function. +<p> Example: +<pre> + int divide( int a, int b ) + { + if ( b == 0 ) // program error + <a href="#qFatal">qFatal</a>( "divide: cannot divide by zero" ); + return a/b; + } + </pre> + +<p> Under X11, the text is printed to stderr. Under Windows, the text +is sent to the debugger. +<p> <b>Warning:</b> The internal buffer is limited to 8196 bytes (including +the '\0'-terminator). +<p> <b>Warning:</b> Passing (const char *)0 as argument to qFatal might lead +to crashes on certain platforms due to the platforms printf implementation. +<p> <p>See also <a href="#qDebug">qDebug</a>(), <a href="#qWarning">qWarning</a>(), <a href="#qInstallMsgHandler">qInstallMsgHandler</a>(), and <a href="debug.html">Debugging</a>. + +<h3 class=fn>QtMsgHandler <a name="qInstallMsgHandler"></a>qInstallMsgHandler ( QtMsgHandler h ) +</h3> + +<p> Installs a Qt message handler <em>h</em>. Returns a pointer to the +message handler previously defined. +<p> The message handler is a function that prints out debug messages, +warnings and fatal error messages. The Qt library (debug version) +contains hundreds of warning messages that are printed when +internal errors (usually invalid function arguments) occur. If you +implement your own message handler, you get total control of these +messages. +<p> The default message handler prints the message to the standard +output under X11 or to the debugger under Windows. If it is a +fatal message, the application aborts immediately. +<p> Only one message handler can be defined, since this is usually +done on an application-wide basis to control debug output. +<p> To restore the message handler, call <tt>qInstallMsgHandler(0)</tt>. +<p> Example: +<pre> + #include <<a href="qapplication-h.html">qapplication.h</a>> + #include <stdio.h> + #include <stdlib.h> + + void myMessageOutput( QtMsgType type, const char *msg ) + { + switch ( type ) { + case QtDebugMsg: + fprintf( stderr, "Debug: %s\n", msg ); + break; + case QtWarningMsg: + fprintf( stderr, "Warning: %s\n", msg ); + break; + case QtFatalMsg: + fprintf( stderr, "Fatal: %s\n", msg ); + abort(); // deliberately core dump + } + } + + int main( int argc, char **argv ) + { + <a href="#qInstallMsgHandler">qInstallMsgHandler</a>( myMessageOutput ); + QApplication a( argc, argv ); + ... + return a.<a href="#exec">exec</a>(); + } + </pre> + +<p> <p>See also <a href="#qDebug">qDebug</a>(), <a href="#qWarning">qWarning</a>(), <a href="#qFatal">qFatal</a>(), and <a href="debug.html">Debugging</a>. + +<h3 class=fn>bool <a name="qSysInfo"></a>qSysInfo ( int * wordSize, bool * bigEndian ) +</h3> + +<p> Obtains information about the system. +<p> The system's word size in bits (typically 32) is returned in <em>*wordSize</em>. The <em>*bigEndian</em> is set to TRUE if this is a big-endian +machine, or to FALSE if this is a little-endian machine. +<p> In debug mode, this function calls <a href="#qFatal">qFatal</a>() with a message if the +computer is truly weird (i.e. different endianness for 16 bit and +32 bit integers); in release mode it returns FALSE. + +<h3 class=fn>void <a name="qSystemWarning"></a>qSystemWarning ( const char * msg, int code ) +</h3> + +<p> Prints the message <em>msg</em> and uses <em>code</em> to get a system specific +error message. When <em>code</em> is -1 (the default), the system's last +error code will be used if possible. Use this method to handle +failures in platform specific API calls. +<p> This function does nothing when Qt is built with <tt>QT_NO_DEBUG</tt> +defined. + +<h3 class=fn>const char * <a name="qVersion"></a>qVersion () +</h3> + +<p> Returns the Qt version number as a string, for example, "2.3.0" or +"3.0.5". +<p> The <tt>QT_VERSION</tt> define has the numeric value in the form: +0xmmiibb (m = major, i = minor, b = bugfix). For example, Qt +3.0.5's <tt>QT_VERSION</tt> is 0x030005. + +<h3 class=fn>void <a name="qWarning"></a>qWarning ( const char * msg, ... ) +</h3> + +<p> +<p> Prints a warning message <em>msg</em>, or calls the message handler (if +it has been installed). +<p> This function takes a format string and a list of arguments, +similar to the C printf() function. +<p> Example: +<pre> + void f( int c ) + { + if ( c > 200 ) + <a href="#qWarning">qWarning</a>( "f: bad argument, c == %d", c ); + } + </pre> + +<p> Under X11, the text is printed to stderr. Under Windows, the text +is sent to the debugger. +<p> <b>Warning:</b> The internal buffer is limited to 8196 bytes (including +the '\0'-terminator). +<p> <b>Warning:</b> Passing (const char *)0 as argument to qWarning might lead +to crashes on certain platforms due to the platforms printf implementation. +<p> <p>See also <a href="#qDebug">qDebug</a>(), <a href="#qFatal">qFatal</a>(), <a href="#qInstallMsgHandler">qInstallMsgHandler</a>(), and <a href="debug.html">Debugging</a>. + +<!-- eof --> +<hr><p> +This file is part of the <a href="index.html">Qt toolkit</a>. +Copyright © 1995-2007 +<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> +<table width=100% cellspacing=0 border=0><tr> +<td>Copyright © 2007 +<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> +<td align=right><div align=right>Qt 3.3.8</div> +</table></div></address></body> +</html> |