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