279 lines
8.1 KiB
Plaintext
279 lines
8.1 KiB
Plaintext
|
Qt 3.0 Beta3 is not binary compatible with Beta2, this means that any
|
||
|
programs linked with Beta2 must be recompiled.
|
||
|
|
||
|
Below you'll find a description of general changes in the Qt Library
|
||
|
and Qt Designer followed by a detailed list of changes in the
|
||
|
programming API.
|
||
|
|
||
|
|
||
|
The Qt Library
|
||
|
========================================
|
||
|
|
||
|
Documentation
|
||
|
-------------
|
||
|
|
||
|
Overall enhancements include fixed typos, corrected grammar and
|
||
|
spelling, and the addition of several images and code examples. Most
|
||
|
classes now have useful detailed descriptions. Documentation accuracy
|
||
|
and usability has been generally improved.
|
||
|
|
||
|
Styles
|
||
|
------
|
||
|
|
||
|
In Qt 3.0.0 Beta2, only the Windows and Motif styles were implemented with
|
||
|
the new style API. Now the missing styles (MotifPlus, Platinum, SGI and
|
||
|
CDE) are included.
|
||
|
|
||
|
MNG
|
||
|
---
|
||
|
|
||
|
Updated the libmng that is shipped with Qt to version 1.0.2.
|
||
|
|
||
|
Wacom Tablet Support
|
||
|
--------------------
|
||
|
|
||
|
Fixes for Windows to solve the problem of creating a context for every
|
||
|
widget and the problem of opening the dialog and losing the ability to use
|
||
|
the tablet afterwards.
|
||
|
|
||
|
|
||
|
Qt Designer
|
||
|
========================================
|
||
|
|
||
|
- Added the ability to sort the property editor either by category
|
||
|
(default and old behaviour) or alphabetically.
|
||
|
|
||
|
- Added the option "-nofwd" to uic which supresses the generation of
|
||
|
forward declarations for custom classes in the generated output.
|
||
|
|
||
|
- The way how custom slots and editing these slots directly in the Qt
|
||
|
Designer is handled has been changed. Originally the code for these
|
||
|
slots was saved into the .ui XML file together with the user
|
||
|
interface description and the uic did put this code into the
|
||
|
generated source files.
|
||
|
Now, if code of custom slots is edited directly in the Qt Designer,
|
||
|
additionally to the <filename>.ui of a form, a <filename>.ui.h file
|
||
|
is created. The code is written into this source file now instead
|
||
|
of the .ui file.
|
||
|
This way the code of custom slots can be also easily edited outside
|
||
|
the Qt Designer without subclassing, and it is possible to edit it
|
||
|
both, in the Qt Designer and outside the Qt Designer without
|
||
|
conflicts, as this is a plain text C++ file.
|
||
|
Uic now automatically includes this source file into the generated
|
||
|
sources (if it exists) and, in this case, does not create empty
|
||
|
stubs for the custom slots in the generated sources anymore. So
|
||
|
this code file has not to be added to the project Makefile. If the
|
||
|
source file does not exist, uic falls back to the old behavior and
|
||
|
creates the empty stubs in the generated source.
|
||
|
If a user does not want to subclass to implement the custom slots,
|
||
|
but also does not want to edit the code of the custom slots in the
|
||
|
Qt Designer, it is possible to always create the <formname>.ui.h
|
||
|
for a form (even if it was not edited in the Qt Designer) and edit
|
||
|
that file in a seperate editor. This feature can be configured in
|
||
|
the project settings dialog.
|
||
|
This way, the old approach of subclassing keeps working (and all
|
||
|
old .ui files keep working without any change). Also, for users of
|
||
|
the previous Qt 3.0 Beta versions, Qt Designer can still read the
|
||
|
.ui files which contain code. So also .ui files created with Qt 3.0
|
||
|
Beta versions of the Qt Designer keep working without any change.
|
||
|
Details about the possible concepts which can be used to add code
|
||
|
to a form created by the Qt Designer (subclassing and uic +
|
||
|
<filename>.ui.h) and related information about project management
|
||
|
can be found in the chapter about new features in Qt Designer 3.0
|
||
|
in the Qt Designer manual.
|
||
|
|
||
|
|
||
|
Qt Functions
|
||
|
========================================
|
||
|
|
||
|
QApplication
|
||
|
------------
|
||
|
|
||
|
- flush() no longer calls sendPostedEvents(), as this might be unsafe
|
||
|
under certain circumstances.
|
||
|
|
||
|
QDataTable
|
||
|
----------
|
||
|
|
||
|
- Now uses the new row selection mode of QTable.
|
||
|
|
||
|
QDomDocument
|
||
|
------------
|
||
|
|
||
|
- Fixed the toString() function to work properly with namespaces.
|
||
|
- In Qt 3.0.0 Beta2, there was a workaround for Microsoft's XML parser,
|
||
|
so that the toString() function did not output a doctype that consists
|
||
|
only of the name. This workaround is semantically wrong; it was
|
||
|
reverted.
|
||
|
|
||
|
QDateEdit
|
||
|
---------
|
||
|
|
||
|
- Fixed wrong default size policy and missing size hint.
|
||
|
- Improved focus and tab handling.
|
||
|
|
||
|
QEffects
|
||
|
--------
|
||
|
|
||
|
- Tooltips and popup menus scroll and fade again
|
||
|
|
||
|
QTable
|
||
|
------
|
||
|
|
||
|
- Fixed right mouse button handling.
|
||
|
- Implemented row selection modes. This implied adding the new enum values
|
||
|
SingleRow and MultiRow to the enum SelectionMode.
|
||
|
- Doubleclick clears selections completely now.
|
||
|
- Allow different focus styles, namely FollowStyle (draw it as the style
|
||
|
tells you) and SpreadSheet (draw it as it is done in common spreadsheet
|
||
|
programs).
|
||
|
|
||
|
New functions:
|
||
|
virtual void setFocusStyle( FocusStyle fs );
|
||
|
FocusStyle focusStyle() const;
|
||
|
virtual QRect cellRect( int row, int col ) const;
|
||
|
|
||
|
QTimeEdit
|
||
|
---------
|
||
|
|
||
|
- Fixed wrong default size policy and missing size hint.
|
||
|
- Improved focus and tab handling.
|
||
|
|
||
|
QTextEdit
|
||
|
---------
|
||
|
|
||
|
- QTextCursor is an internal class, so the signal
|
||
|
cursorPositionChanged(QTextCursor*) is only of limited use. Added a
|
||
|
more useful signal in addition.
|
||
|
|
||
|
- Overrides accelerators for all shortcuts used to edit text.
|
||
|
|
||
|
New signal:
|
||
|
void cursorPositionChanged( int para, int pos );
|
||
|
|
||
|
QLineEdit
|
||
|
---------
|
||
|
|
||
|
- Overrides accelerators for all shortcuts used to edit text.
|
||
|
|
||
|
QLibrary
|
||
|
--------
|
||
|
|
||
|
- Static overload for resolve as a convenience function.
|
||
|
|
||
|
New function:
|
||
|
static void *resolve( const QString &filename, const char * );
|
||
|
|
||
|
QListView
|
||
|
---------
|
||
|
|
||
|
- A bug that was introduced in Qt 3.0.0 beta 2 made listviews with
|
||
|
lots of items very slow. This problem has been fixed.
|
||
|
|
||
|
QProcess
|
||
|
--------
|
||
|
|
||
|
- exitStatus() did not work for negative values on Unix. This is fixed
|
||
|
now.
|
||
|
- Fixed problems on Unixware.
|
||
|
|
||
|
QRichtext
|
||
|
---------
|
||
|
|
||
|
- Fixed searching backwards.
|
||
|
- Fixed some BIDI text-rendering problems.
|
||
|
|
||
|
QSound
|
||
|
------
|
||
|
|
||
|
- Simplified the API to allow easier extension.
|
||
|
|
||
|
New functions:
|
||
|
bool isAvailable();
|
||
|
int loops() const;
|
||
|
int loopsRemaining() const;
|
||
|
void setLoops(int);
|
||
|
QString fileName() const;
|
||
|
bool isFinished() const;
|
||
|
|
||
|
New slot:
|
||
|
void stop();
|
||
|
|
||
|
Removed function:
|
||
|
bool available();
|
||
|
|
||
|
QSpinBox
|
||
|
--------
|
||
|
|
||
|
- Spin box arrows were not updated correctly when the widget was
|
||
|
disabled/enabled. This problem is fixed now.
|
||
|
- Improved handling of the case when a spinbox accepts a value: now it
|
||
|
also accepts it if the spinbox loses focus or is hidden.
|
||
|
|
||
|
QSqlCursor
|
||
|
----------
|
||
|
|
||
|
- Add functions to set the generated flag. This is used to avoid the
|
||
|
generation of malformed SQL statements.
|
||
|
|
||
|
New functions:
|
||
|
void setGenerated( const QString& name, bool generated );
|
||
|
void setGenerated( int i, bool generated );
|
||
|
|
||
|
QSqlDriver
|
||
|
----------
|
||
|
|
||
|
- Add new function hasFeature( QSqlDriver::DriverFeature ) const which
|
||
|
allows you to query whether the driver supports features like SQL
|
||
|
transactions or Binary Large Object fields. The functions
|
||
|
hasQuerySizeSupport(), canEditBinaryFields() and hasTransactionSupport()
|
||
|
are therefore obsolete and have been removed.
|
||
|
|
||
|
New function:
|
||
|
bool hasFeature( QSqlDriver::DriverFeature ) const;
|
||
|
|
||
|
Removed functions:
|
||
|
bool hasQuerySizeSupport() const;
|
||
|
bool canEditBinaryFields() const;
|
||
|
bool hasTransactionSupport() const;
|
||
|
|
||
|
QSqlField
|
||
|
---------
|
||
|
|
||
|
- The bool argument of setNull() was removed since it does not make sense
|
||
|
to set a field to non null.
|
||
|
|
||
|
QTabWidget
|
||
|
----------
|
||
|
|
||
|
- Use the functions below to add tool tips to the individual tabs in a
|
||
|
QTabWidget.
|
||
|
|
||
|
New functions:
|
||
|
void removeTabToolTip( QWidget * w );
|
||
|
void setTabToolTip( QWidget * w, const QString & tip );
|
||
|
QString tabToolTip( QWidget * w ) const;
|
||
|
|
||
|
QTabBar
|
||
|
-------
|
||
|
|
||
|
- Use the functions below to add tool tips to the individual tabs in a
|
||
|
QTabBar.
|
||
|
|
||
|
New functions:
|
||
|
void removeToolTip( int id );
|
||
|
void setToolTip( int id, const QString & tip );
|
||
|
QString toolTip( int id ) const;
|
||
|
|
||
|
QTextStream
|
||
|
-----------
|
||
|
|
||
|
- The global functions setw(), setfill() and setprecison() were deleted
|
||
|
since they conflict with the std classes. If you need the functionality,
|
||
|
use qSetW(), qSetFill() and qSetPrecision() instead.
|
||
|
|
||
|
Removed functions:
|
||
|
QTSManip setw( int w )
|
||
|
QTSManip setfill( int f )
|
||
|
QTSManip setprecision( int p )
|