1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
|
Here is a list of (major) changes in Qt from 0.95 to 0.96.
Bug-fixes, optimizations and improved documentation, of course.
QClipboard is new.
There are some changes in the API (Qt header files). Some functions have
been renamed or the arguments have changed. The old versions of these
functions have been obsoleted. A call to an obsoleted function will by
default generate a runtime warning the first time it is called, but it
will be executed correctly. If you really need to ship code fast, you can
turn off the runtime obsolescence warnings by calling
qSuppressObsoleteWarnings().
Obsoleted functions will disappear in a future release. To get
compile-time errors for each use of an obsoleted function, compile your
code with -DTEST_OBSOLETE. You should recompile without this option when
you have upgraded your code (otherwise, you may get linking errors).
Note: it is probably not a good idea to compile the Qt library with
-DTEST_OBSOLETE, it may cause problems if you try to link or run
programs that use obsoleted functions.
For new users: obsoleted functions are no longer documented, in fact they
are not even visible in the documentation.
*************** Changes that might affect runtime behavior *****************
QFileInfo:
----------
size() returns uint(previousy int), 0 if the size cannot be fetched (was -1).
Use isFile() to check.
QPopupMenu
------------
When a popup menu is a submenu (directly or as a subsub...menu) of a
menu bar(QMenuBar), the menu bar will now always emit the activated() or
highlighted() signal when a submenu emits these signals. This fix might
have undesired effects if you previously have worked around it by
connecting to signals both in menu bar and its submenus.
*************** Changes that might generate compile errors *****************
************** when compiling old code *****************
QDataStream:
-----------
Serialization of int and uint is no longer supported. Use INT32 and
UINT32 instead. This had to be changed in order to run Qt on 64-bit
architectures.
QImage:
-------
24-bpp pixel format no longer supported, use 32-bpp instead.
This means that you have to use uint* instead of uchar* when accessing
pixel values. You cannot use the uchar* pointer directly, because the
pixel format depends on the byte order on the underlying platform. Use
qRgb() and friends (qcolor.h) to access the pixels.
QWidget:
--------
setMouseTracking() does not return bool. Call hasMouseTracking() to
determine the mouse tracking state. (This only affects code that
actually uses the return value.)
(There are other changes in QWidget, see below)
*************** Type changes that might generate warnings: *****************
QCache/QIntCache:
-----------------
Using int/uint instead of long/ulong.
QDate/QTime/QDateTime:
----------------------
Using int/uint instead of long/ulong (MS-DOS required long).
QIODevice/QBuffer/QFile:
------------------------
Using int/uint instead of long/ulong.
QKeyEvent:
----------
ascii() now returns int (previously uchar).
QTableView:
------------
uint used instead of ulong (tableFlags() etc.)
QTextStream:
------------
int used instead of long (flags() etc.)
***************** Obsoleted functions **********************
QAccel:
-------
enable(), disable() and isDisabled() are obsolete.
Use setEnabled(TRUE/FALSE) and !isEnabled() instead.
isItemDisabled(), enableItem(), disableItem() are obsolete.
Use !isItemEnabled(), setItemEnabled(TRUE/FALSE) instead.
QApplication:
-------------
cursor(), setCursor() and restoreCursor() obsoleted.
Use overrideCursor(), setOverrideCursor() and restoreOverrideCursor()
instead.
QBitmap:
--------
Constructor takes "const uchar *bits" instead of "const char *"
because of sign problems (uchar = unsigned char). Old constructors are
obsolete.
QButton:
--------
toggleButton() is obsolete, renamed to isToggleButton().
QColor:
-------
The functions QRED, QGREEN, QBLUE, QRGB, QGRAY obsolete.
Instead, use qRed, qGreen, qBlue, qRgb, qGray.
QComboBox:
----------
setStrList() obsolete, use clear() + insertStrList() instead.
string() obsolete, use text() instead.
QLCDNumber:
----------
longValue() is obsolete, use intValue() instead.
QListbox:
---------
The macro LBI_String is obsolete, use LBI_text instead.
string() obsolete, use text() instead.
stringCopy() and setStringCopy() are obsolete.
QMenuData:
----------
string() obsolete, use text() instead.
isItemDisabled(), enableItem(), disableItem() are obsolete.
Use !isItemEnabled(), setItemEnabled(TRUE/FALSE) instead.
checkItem() and uncheckItem() are obsolete.
Use setItemChecked(TRUE/FALSE) instead.
QPainter:
---------
drawBezier() is obsolete, general Bezier curves are rarely used and
cost too much. Qt will only support drawQuadBezier() (four-point
Bezier) in the future.
QPointArray:
-----------
move() is obsolete, use translate() instead.
bezier() is obsolete, general Bezier curves are rarely used and
cost too much. Qt will only support quadBezier() (four-point
Bezier) in the future.
QRect:
------
move() is obsolete, use moveBy() instead.
setTopLeft(), setTopRight(), setBottomLeft(), setBottomRight() and
setCenter() is obsolete, use moveTopLeft(), moveTopRight(),
moveBottomLeft(), moveBottomRight() and moveCenter() instead.
QRegion:
-------
move() is obsolete, use translate() instead.
QSocketNotifier:
----------------
enabled() is obsolete. Use isEnabled() instead.
QWidget:
--------
enable(), disable() and isDisabled() are obsolete.
Use setEnabled(TRUE/FALSE) and !isEnabled() instead.
setMinimumSize(), setMaximumSize(), minimumSize(), maximumSize() are obsolete
use setMinSize(), setMaxSize(), minSize(), maxSize() instead.
enableUpdates() obsolete, use isUpdatesEnabled()/setUpdatesEnabled().
id() is obsolete, it has been renamed to winId().
***************** All other changes from 0.95 to 0.96 **********************
moc
----------
Gives a warning if no output is generated.
qglobal.h:
----------
INT32 and UINT32 typedefs changed to work with DEC Alpha.
QApplication:
-------------
clipboard() is new.
QButtonGroup:
-------------
Exclusive group setting added (isExclusive and setExclusive).
find() is new.
QColor:
-------
New type QRgb (uint), used for RGB triplet.
QLineEdit:
----------
You can now mark text, and copy and paste to/from the clipboard.
QPaintDevice:
---------
The bitblt function now takes an ignoreMask parameter. It has a default
value, so no old code will be broken.
QPrinter:
------------
fixed minor bugs in handling of polygons and beziers.
QWidget:
--------
New protected virtual functions styleChange(), backgroundColorChange(),
backgroundPixmapChange(), paletteChange() and fontChange().
These functions are called from setStyle(), setBackgroundColor() etc.
You can reimplement them to if you need to know when widget properties
changed and to optimize updates.
The destroyed() signal has been moved to QObject.
|