qtbase-opensource-src/dist/changes-0.96

264 lines
7.0 KiB
Plaintext
Raw Permalink Normal View History

2022-05-14 17:39:13 +08:00
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.