Trolltech Releases Qt 4.0

Trolltech has released Qt 4.0 both under commercial and GPL licenses for X11, Mac OS X and MS Windows. It is the first time that a MS Windows GPL edition is available. To celebrate the release Trolltech employees have created a song and a music video (Bittorrent download, Ogg Theora version). Read the Qt 4 Overview and the online Qt Reference Documentation for more information. You can download Qt from ftp.trolltech.com or from one of its mirrors. Work on KDE 4 has already started with making a development branch of KDE compile and run with Qt 4.

Unlike previous Qt releases, Qt 4 is a collection of smaller libraries which also allowed the restructuring of commercial offers into Qt Console for non-GUI development, Qt Desktop Light replacing the Professional and Qt Desktop comparable to Enterprise editions.

There are five new technologies that are new within Qt 4:

  • Tulip, a new set of template container classes.
  • Interview, a model/view architecture for item views.
  • Arthur, the Qt 4 painting framework.
  • Scribe, the Unicode text renderer with a public API for performing low-level text layout.
  • Mainwindow, a modern action-based mainwindow, toolbar, menu, and docking architecture.

In addition, the following modules have been significantly improved since Qt 3:

  • A fully cross-platform accessibility module, with support for the emerging SP-API Unix standard in addition to Microsoft and Mac Accessibility.
  • The SQL module, which is now based on the Interview model/view framework.
  • The network module, with better support for UDP and synchronous sockets.
  • The style API, which is now decoupled from the widgets, meaning that you can draw any user interface element on any device (widget, pixmap, etc.).
  • Enhanced thread support, with signal-slot connections across threads and per-thread event loops.
  • A new resource system for embedding images and other resource files into the application executable.

The Qt Designer user interface design tool has been rewritten as a collection of interchangeable components. It now features support for MDI and SDI modes and supports custom widgets. The project editor and the code editor have been dropped.

Qt 3 based applications have to be ported to be able to run with Qt 4. A porting guide, a porting tool as well as a Qt3Support library for obsolete classes are provided. Trolltech aims to maintain the Qt3Support Library for the lifetime of the Qt 4 series, and will also support the Qt 3 series for a minimum of two years beyond the release of Qt 4.

Some known issues are listed which are expected to be fixed in upcoming maintenance releases of Qt 4.0. Qt 4.1 will features certain advanced Qt 3 features rewritten for Qt 4 which are now only available in the Qt 3 support library (eg. Qt 3 canvas, Qt 3 syntax highlighter). It is planned be released late in 2005.

Dot Categories: 

Comments

by James Richard Tyrer (not verified)

Make that previous post by "Anonymous _Know_Nothing_". :-)

These are not minor "bugs" -- this is really about a lack of features which I don't consider to be a "bugfix" issue. They are serious issues that Trolltec is aware of, and, in the case of WYSIWYG, they specifically promised to fix for Qt 4 in previous posting to their web site.

But, I don't expect to see a mention of a bug fix. I expect to see mention of the new features which eliminate these problems. I see nothing about a new PostScript driver. Nothing that the PS driver will now embed TrueType as scalable Type 42 fonts (a serious missing feature -- OO has this for example). I see nothing about WYSIWYG display of fonts and printing with the actual font metrics.

These are all expected new features NOT bugfixes! The current KOffice applications are seriously crippled by the lack of these features -- what good is a wordprocessor that won't print correctly??

There is also a related bug. Qt doesn't properly parse some Type 1 font names. The TrueType and Type 1 font names for the same font are often not the same and Qt needs to deal with this.

--
JRT

by rinse (not verified)

dunno for sure, but I believe that in earlier talks about Qt4, the problems with the font kerning were supposed to be solved in the new version of Qt.

by James Richard Tyrer (not verified)

Yes, this is the replacement for:

qt-x11-free-3.3.4/src/kernel/qpsprinter.cpp

Compare the two.

It has many changes, but it still (just quickly skimming through it) has some code that concerns me. For example:

It still has the code to: "//try to make a "good" postscript name". This code should be removed because it can't work.

It still depends on a list of common fonts. This is a kludge which should be removed. The only font name specific code that is acceptable is a fix for the TimesRoman problem.

It also depends on the 4 glyph faces (regular, bold, italic, & bolditalic) paradigm. This doesn't work and should be completely redone.

It has been changed so much that the patch:

http://home.earthlink.net/~tyrerj/files/qt-x11-free-3.3.3-PSfontname.pat...

no longer applies, but that doesn't mean that the problems have been fixed.

But, we shouldn't have to read the code to try to determine what the new features are. I must presume that these issues have not been resolved. If these problems are not fixed, I can only suggest that KDE tries to adapt code from Scribus so that KDE is able to print correctly.