|
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 ) |