source: trunk/doc/src/qdesktopwidget.qdoc@ 109

Last change on this file since 109 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 7.7 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the documentation of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial Usage
10** Licensees holding valid Qt Commercial licenses may use this file in
11** accordance with the Qt Commercial License Agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Nokia.
14**
15** GNU Lesser General Public License Usage
16** Alternatively, this file may be used under the terms of the GNU Lesser
17** General Public License version 2.1 as published by the Free Software
18** Foundation and appearing in the file LICENSE.LGPL included in the
19** packaging of this file. Please review the following information to
20** ensure the GNU Lesser General Public License version 2.1 requirements
21** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
22**
23** In addition, as a special exception, Nokia gives you certain
24** additional rights. These rights are described in the Nokia Qt LGPL
25** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
26** package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you are unsure which license is appropriate for your use, please
37** contact the sales department at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42/*!
43 \class QDesktopWidget
44 \brief The QDesktopWidget class provides access to screen information on multi-head systems.
45
46 \ingroup advanced
47 \ingroup desktop
48 \ingroup environment
49 \mainclass
50
51 QApplication::desktop() function should be used to get an instance
52 of the QDesktopWidget.
53
54 Systems with more than one graphics card and monitor can manage the
55 physical screen space available either as multiple desktops, or as a
56 large virtual desktop, which usually has the size of the bounding
57 rectangle of all the screens (see isVirtualDesktop()). For an
58 application, one of the available screens is the primary screen, i.e.
59 the screen where the main widget resides (see primaryScreen()). All
60 windows opened in the context of the application should be
61 constrained to the boundaries of the primary screen; for example,
62 it would be inconvenient if a dialog box popped up on a different
63 screen, or split over two screens.
64
65 The QDesktopWidget provides information about the geometry of the
66 available screens with screenGeometry(). The number of screens
67 available is returned by numScreens(). The screen number that a
68 particular point or widget is located in is returned by
69 screenNumber().
70
71 Widgets provided by Qt use this class, for example, to place
72 tooltips, menus and dialog boxes according to the parent or
73 application widget.
74
75 Applications can use this class to save window positions, or to place
76 child widgets on one screen.
77
78 \img qdesktopwidget.png Managing Multiple Screens
79
80 In the illustration above, Application One's primary screen is
81 screen 0, and App Two's primary screen is screen 1.
82
83 \target multiple screens note
84 \note QDesktopWidget inherits the QWidget properties, width() and
85 height(), which specify the size of the desktop. However, for
86 desktops with multiple screens, the size of the desktop is the union
87 of all the screen sizes, so width() and height() should \e not be
88 used for computing the size of a widget to be placed on one of the
89 screens. The correct width and height values are obtained using
90 availableGeometry() or screenGeometry() for a particular screen.
91
92 \sa QApplication, QApplication::desktop(), QX11Info::appRootWindow()
93*/
94
95/*!
96 \fn QDesktopWidget::QDesktopWidget()
97
98 \internal
99
100 Creates the desktop widget.
101
102 If the system supports a virtual desktop, this widget will have
103 the size of the virtual desktop; otherwise this widget will have
104 the size of the primary screen.
105
106 Instead of using QDesktopWidget directly, use QApplication::desktop().
107*/
108
109/*!
110 \fn QDesktopWidget::~QDesktopWidget()
111
112 \internal
113
114 Destroys the desktop widget and frees any allocated resources.
115*/
116
117/*!
118 \fn bool QDesktopWidget::isVirtualDesktop() const
119
120 Returns true if the system manages the available screens in a
121 virtual desktop; otherwise returns false.
122
123 For virtual desktops, screen() will always return the same widget.
124 The size of the virtual desktop is the size of this desktop
125 widget.
126*/
127
128/*!
129 \fn int QDesktopWidget::primaryScreen() const
130
131 Returns the index of the primary screen.
132
133 \sa numScreens()
134*/
135
136/*!
137 \fn int QDesktopWidget::numScreens() const
138
139 Returns the number of available screens.
140
141 \sa primaryScreen()
142*/
143
144/*!
145 \fn QWidget *QDesktopWidget::screen(int screen)
146
147 Returns a widget that represents the screen with index \a screen
148 (a value of -1 means the default screen).
149
150
151 If the system uses a virtual desktop, the returned widget will
152 have the geometry of the entire virtual desktop; i.e., bounding
153 every \a screen.
154
155 \sa primaryScreen(), numScreens(), isVirtualDesktop()
156*/
157
158/*!
159 \fn const QRect QDesktopWidget::availableGeometry(int screen) const
160
161 Returns the available geometry of the screen with index \a screen. What
162 is available will be subrect of screenGeometry() based on what the
163 platform decides is available (for example excludes the dock and menu bar
164 on Mac OS X, or the task bar on Windows). The default screen is used if
165 \a screen is -1.
166
167 \sa screenNumber(), screenGeometry()
168*/
169
170/*!
171 \fn const QRect QDesktopWidget::availableGeometry(const QWidget *widget) const
172 \overload
173
174 Returns the available geometry of the screen which contains \a widget.
175
176 \sa screenGeometry()
177*/
178
179/*!
180 \fn const QRect QDesktopWidget::availableGeometry(const QPoint &p) const
181 \overload
182
183 Returns the available geometry of the screen which contains \a p.
184
185 \sa screenGeometry()
186*/
187
188
189/*!
190 \fn const QRect QDesktopWidget::screenGeometry(int screen) const
191
192 Returns the geometry of the screen with index \a screen. The default
193 screen is used if \a screen is -1.
194
195 \sa screenNumber()
196*/
197
198/*!
199 \fn const QRect QDesktopWidget::screenGeometry(const QWidget *widget) const
200 \overload
201
202 Returns the geometry of the screen which contains \a widget.
203*/
204
205/*!
206 \fn const QRect QDesktopWidget::screenGeometry(const QPoint &p) const
207 \overload
208
209 Returns the geometry of the screen which contains \a p.
210*/
211
212
213/*!
214 \fn int QDesktopWidget::screenNumber(const QWidget *widget) const
215
216 Returns the index of the screen that contains the largest
217 part of \a widget, or -1 if the widget not on a screen.
218
219 \sa primaryScreen()
220*/
221
222/*!
223 \fn int QDesktopWidget::screenNumber(const QPoint &point) const
224
225 \overload
226 Returns the index of the screen that contains the \a point, or the
227 screen which is the shortest distance from the \a point.
228
229 \sa primaryScreen()
230*/
231
232/*!
233 \fn void QDesktopWidget::resizeEvent(QResizeEvent *event)
234 \reimp
235*/
236
237/*!
238 \fn void QDesktopWidget::resized(int screen)
239
240 This signal is emitted when the size of \a screen changes.
241*/
242
243/*!
244 \fn void QDesktopWidget::workAreaResized(int screen)
245
246 This signal is emitted when the work area available on \a screen changes.
247*/
Note: See TracBrowser for help on using the repository browser.