0
|
1 |
Qt 3.0 Beta3 is not binary compatible with Beta2, this means that any
|
|
2 |
programs linked with Beta2 must be recompiled.
|
|
3 |
|
|
4 |
Below you'll find a description of general changes in the Qt Library
|
|
5 |
and Qt Designer followed by a detailed list of changes in the
|
|
6 |
programming API.
|
|
7 |
|
|
8 |
|
|
9 |
The Qt Library
|
|
10 |
========================================
|
|
11 |
|
|
12 |
Documentation
|
|
13 |
-------------
|
|
14 |
|
|
15 |
Overall enhancements include fixed typos, corrected grammar and
|
|
16 |
spelling, and the addition of several images and code examples. Most
|
|
17 |
classes now have useful detailed descriptions. Documentation accuracy
|
|
18 |
and usability has been generally improved.
|
|
19 |
|
|
20 |
Styles
|
|
21 |
------
|
|
22 |
|
|
23 |
In Qt 3.0.0 Beta2, only the Windows and Motif styles were implemented with
|
|
24 |
the new style API. Now the missing styles (MotifPlus, Platinum, SGI and
|
|
25 |
CDE) are included.
|
|
26 |
|
|
27 |
MNG
|
|
28 |
---
|
|
29 |
|
|
30 |
Updated the libmng that is shipped with Qt to version 1.0.2.
|
|
31 |
|
|
32 |
Wacom Tablet Support
|
|
33 |
--------------------
|
|
34 |
|
|
35 |
Fixes for Windows to solve the problem of creating a context for every
|
|
36 |
widget and the problem of opening the dialog and losing the ability to use
|
|
37 |
the tablet afterwards.
|
|
38 |
|
|
39 |
|
|
40 |
Qt Designer
|
|
41 |
========================================
|
|
42 |
|
|
43 |
- Added the ability to sort the property editor either by category
|
|
44 |
(default and old behaviour) or alphabetically.
|
|
45 |
|
|
46 |
- Added the option "-nofwd" to uic which supresses the generation of
|
|
47 |
forward declarations for custom classes in the generated output.
|
|
48 |
|
|
49 |
- The way how custom slots and editing these slots directly in the Qt
|
|
50 |
Designer is handled has been changed. Originally the code for these
|
|
51 |
slots was saved into the .ui XML file together with the user
|
|
52 |
interface description and the uic did put this code into the
|
|
53 |
generated source files.
|
|
54 |
Now, if code of custom slots is edited directly in the Qt Designer,
|
|
55 |
additionally to the <filename>.ui of a form, a <filename>.ui.h file
|
|
56 |
is created. The code is written into this source file now instead
|
|
57 |
of the .ui file.
|
|
58 |
This way the code of custom slots can be also easily edited outside
|
|
59 |
the Qt Designer without subclassing, and it is possible to edit it
|
|
60 |
both, in the Qt Designer and outside the Qt Designer without
|
|
61 |
conflicts, as this is a plain text C++ file.
|
|
62 |
Uic now automatically includes this source file into the generated
|
|
63 |
sources (if it exists) and, in this case, does not create empty
|
|
64 |
stubs for the custom slots in the generated sources anymore. So
|
|
65 |
this code file has not to be added to the project Makefile. If the
|
|
66 |
source file does not exist, uic falls back to the old behavior and
|
|
67 |
creates the empty stubs in the generated source.
|
|
68 |
If a user does not want to subclass to implement the custom slots,
|
|
69 |
but also does not want to edit the code of the custom slots in the
|
|
70 |
Qt Designer, it is possible to always create the <formname>.ui.h
|
|
71 |
for a form (even if it was not edited in the Qt Designer) and edit
|
|
72 |
that file in a seperate editor. This feature can be configured in
|
|
73 |
the project settings dialog.
|
|
74 |
This way, the old approach of subclassing keeps working (and all
|
|
75 |
old .ui files keep working without any change). Also, for users of
|
|
76 |
the previous Qt 3.0 Beta versions, Qt Designer can still read the
|
|
77 |
.ui files which contain code. So also .ui files created with Qt 3.0
|
|
78 |
Beta versions of the Qt Designer keep working without any change.
|
|
79 |
Details about the possible concepts which can be used to add code
|
|
80 |
to a form created by the Qt Designer (subclassing and uic +
|
|
81 |
<filename>.ui.h) and related information about project management
|
|
82 |
can be found in the chapter about new features in Qt Designer 3.0
|
|
83 |
in the Qt Designer manual.
|
|
84 |
|
|
85 |
|
|
86 |
Qt Functions
|
|
87 |
========================================
|
|
88 |
|
|
89 |
QApplication
|
|
90 |
------------
|
|
91 |
|
|
92 |
- flush() no longer calls sendPostedEvents(), as this might be unsafe
|
|
93 |
under certain circumstances.
|
|
94 |
|
|
95 |
QDataTable
|
|
96 |
----------
|
|
97 |
|
|
98 |
- Now uses the new row selection mode of QTable.
|
|
99 |
|
|
100 |
QDomDocument
|
|
101 |
------------
|
|
102 |
|
|
103 |
- Fixed the toString() function to work properly with namespaces.
|
|
104 |
- In Qt 3.0.0 Beta2, there was a workaround for Microsoft's XML parser,
|
|
105 |
so that the toString() function did not output a doctype that consists
|
|
106 |
only of the name. This workaround is semantically wrong; it was
|
|
107 |
reverted.
|
|
108 |
|
|
109 |
QDateEdit
|
|
110 |
---------
|
|
111 |
|
|
112 |
- Fixed wrong default size policy and missing size hint.
|
|
113 |
- Improved focus and tab handling.
|
|
114 |
|
|
115 |
QEffects
|
|
116 |
--------
|
|
117 |
|
|
118 |
- Tooltips and popup menus scroll and fade again
|
|
119 |
|
|
120 |
QTable
|
|
121 |
------
|
|
122 |
|
|
123 |
- Fixed right mouse button handling.
|
|
124 |
- Implemented row selection modes. This implied adding the new enum values
|
|
125 |
SingleRow and MultiRow to the enum SelectionMode.
|
|
126 |
- Doubleclick clears selections completely now.
|
|
127 |
- Allow different focus styles, namely FollowStyle (draw it as the style
|
|
128 |
tells you) and SpreadSheet (draw it as it is done in common spreadsheet
|
|
129 |
programs).
|
|
130 |
|
|
131 |
New functions:
|
|
132 |
virtual void setFocusStyle( FocusStyle fs );
|
|
133 |
FocusStyle focusStyle() const;
|
|
134 |
virtual QRect cellRect( int row, int col ) const;
|
|
135 |
|
|
136 |
QTimeEdit
|
|
137 |
---------
|
|
138 |
|
|
139 |
- Fixed wrong default size policy and missing size hint.
|
|
140 |
- Improved focus and tab handling.
|
|
141 |
|
|
142 |
QTextEdit
|
|
143 |
---------
|
|
144 |
|
|
145 |
- QTextCursor is an internal class, so the signal
|
|
146 |
cursorPositionChanged(QTextCursor*) is only of limited use. Added a
|
|
147 |
more useful signal in addition.
|
|
148 |
|
|
149 |
- Overrides accelerators for all shortcuts used to edit text.
|
|
150 |
|
|
151 |
New signal:
|
|
152 |
void cursorPositionChanged( int para, int pos );
|
|
153 |
|
|
154 |
QLineEdit
|
|
155 |
---------
|
|
156 |
|
|
157 |
- Overrides accelerators for all shortcuts used to edit text.
|
|
158 |
|
|
159 |
QLibrary
|
|
160 |
--------
|
|
161 |
|
|
162 |
- Static overload for resolve as a convenience function.
|
|
163 |
|
|
164 |
New function:
|
|
165 |
static void *resolve( const QString &filename, const char * );
|
|
166 |
|
|
167 |
QListView
|
|
168 |
---------
|
|
169 |
|
|
170 |
- A bug that was introduced in Qt 3.0.0 beta 2 made listviews with
|
|
171 |
lots of items very slow. This problem has been fixed.
|
|
172 |
|
|
173 |
QProcess
|
|
174 |
--------
|
|
175 |
|
|
176 |
- exitStatus() did not work for negative values on Unix. This is fixed
|
|
177 |
now.
|
|
178 |
- Fixed problems on Unixware.
|
|
179 |
|
|
180 |
QRichtext
|
|
181 |
---------
|
|
182 |
|
|
183 |
- Fixed searching backwards.
|
|
184 |
- Fixed some BIDI text-rendering problems.
|
|
185 |
|
|
186 |
QSound
|
|
187 |
------
|
|
188 |
|
|
189 |
- Simplified the API to allow easier extension.
|
|
190 |
|
|
191 |
New functions:
|
|
192 |
bool isAvailable();
|
|
193 |
int loops() const;
|
|
194 |
int loopsRemaining() const;
|
|
195 |
void setLoops(int);
|
|
196 |
QString fileName() const;
|
|
197 |
bool isFinished() const;
|
|
198 |
|
|
199 |
New slot:
|
|
200 |
void stop();
|
|
201 |
|
|
202 |
Removed function:
|
|
203 |
bool available();
|
|
204 |
|
|
205 |
QSpinBox
|
|
206 |
--------
|
|
207 |
|
|
208 |
- Spin box arrows were not updated correctly when the widget was
|
|
209 |
disabled/enabled. This problem is fixed now.
|
|
210 |
- Improved handling of the case when a spinbox accepts a value: now it
|
|
211 |
also accepts it if the spinbox loses focus or is hidden.
|
|
212 |
|
|
213 |
QSqlCursor
|
|
214 |
----------
|
|
215 |
|
|
216 |
- Add functions to set the generated flag. This is used to avoid the
|
|
217 |
generation of malformed SQL statements.
|
|
218 |
|
|
219 |
New functions:
|
|
220 |
void setGenerated( const QString& name, bool generated );
|
|
221 |
void setGenerated( int i, bool generated );
|
|
222 |
|
|
223 |
QSqlDriver
|
|
224 |
----------
|
|
225 |
|
|
226 |
- Add new function hasFeature( QSqlDriver::DriverFeature ) const which
|
|
227 |
allows you to query whether the driver supports features like SQL
|
|
228 |
transactions or Binary Large Object fields. The functions
|
|
229 |
hasQuerySizeSupport(), canEditBinaryFields() and hasTransactionSupport()
|
|
230 |
are therefore obsolete and have been removed.
|
|
231 |
|
|
232 |
New function:
|
|
233 |
bool hasFeature( QSqlDriver::DriverFeature ) const;
|
|
234 |
|
|
235 |
Removed functions:
|
|
236 |
bool hasQuerySizeSupport() const;
|
|
237 |
bool canEditBinaryFields() const;
|
|
238 |
bool hasTransactionSupport() const;
|
|
239 |
|
|
240 |
QSqlField
|
|
241 |
---------
|
|
242 |
|
|
243 |
- The bool argument of setNull() was removed since it does not make sense
|
|
244 |
to set a field to non null.
|
|
245 |
|
|
246 |
QTabWidget
|
|
247 |
----------
|
|
248 |
|
|
249 |
- Use the functions below to add tool tips to the individual tabs in a
|
|
250 |
QTabWidget.
|
|
251 |
|
|
252 |
New functions:
|
|
253 |
void removeTabToolTip( QWidget * w );
|
|
254 |
void setTabToolTip( QWidget * w, const QString & tip );
|
|
255 |
QString tabToolTip( QWidget * w ) const;
|
|
256 |
|
|
257 |
QTabBar
|
|
258 |
-------
|
|
259 |
|
|
260 |
- Use the functions below to add tool tips to the individual tabs in a
|
|
261 |
QTabBar.
|
|
262 |
|
|
263 |
New functions:
|
|
264 |
void removeToolTip( int id );
|
|
265 |
void setToolTip( int id, const QString & tip );
|
|
266 |
QString toolTip( int id ) const;
|
|
267 |
|
|
268 |
QTextStream
|
|
269 |
-----------
|
|
270 |
|
|
271 |
- The global functions setw(), setfill() and setprecison() were deleted
|
|
272 |
since they conflict with the std classes. If you need the functionality,
|
|
273 |
use qSetW(), qSetFill() and qSetPrecision() instead.
|
|
274 |
|
|
275 |
Removed functions:
|
|
276 |
QTSManip setw( int w )
|
|
277 |
QTSManip setfill( int f )
|
|
278 |
QTSManip setprecision( int p )
|