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 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
|
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 )
|