October 24, 2005

Qt 4 raises the bar for cross-platform application development tools

Trolltech's comprehensive toolkit simplifies code portability, interoperability

Cross-platform toolkits have always been a market unto themselves. In the heyday of Unix, products such as Galaxy, XVT, and Zinc provided a solution for IT and for ISVs that could not afford to rewrite code for all flavors of OSes. When Java took over much of the cross-platform workload, these tools were relegated to the sidelines.

But, as years passed, it became evident that Java was not ideally suited to developing client-facing applications, and a new generation of GUI toolkits arose with strong open source roots.

One of those toolkits, Trolltech’s Qt, has evolved into a far more comprehensive library that provides robust support in such disparate areas as database access, XML processing, threading, network programming, and advanced data structures.

Backed by a commercial venture that offers a commercial license, Qt comes in three versions: the new Console Edition, a server-oriented package that bundles the non-GUI classes with a text-based front end; Desktop Light Edition, primarily the GUI toolkit; and Desktop Edition, which combines the two versions -- server back end with GUI front end -- and provides the most comprehensive libraries.

I looked at the Desktop Edition of the new Qt 4 release, and I found that improved graphics and multithreading support, as well as integration in Visual Studio .Net, make this toolkit significantly better.

The GUI Bits

Qt’s GUI toolkit is unique in that it uses the underlying operating system’s widget set to provide the interface. As a result, applications have a native look and feel. The set of widgets is remarkably complete. Beyond the standard controls, the library has toolbars, tool tips, grids into which images and rich text can be placed, drag-and-drop support, floating menu bars, and more.

A bundled visual design tool, Qt Designer, enables interactive GUI design. Qt Designer generates an XML metafile from which a utility generates the necessary C++ source code. To the widget set, Qt adds a complete, high-end rendering system including sophisticated drawing functions, OpenGL graphics, rich text, and imaging.

The rich text capabilities are particularly impressive: Qt automatically accesses the fonts available on the execution platform. Fonts can be chosen by name and characteristics; if the specified font is unavailable, Qt intelligently finds the closest matching typeface and size. You can combine letters from many fonts to provide true rich text.

The system also supports Unicode fonts, so all forms of foreign characters work correctly. Text can be wrapped around embedded graphics, and other rarely found text-rendering capabilities are built in, including 2-D and 3-D graphics, animation, and interchangeable paint engines (OpenGL, PostScript, and so on).

The non-GUI portions of Qt 4 handle some of portability’s most irritating details, the worst of which are parallel processing and the use of threads. Qt’s library abstracts the underlying threads’ resources and gives them a sane organization that borrows conceptually from both Windows threads and Pthreads.

Qt 4 also abstracts sockets, greatly simplifying network programming. It provides plenary support for HTTP, FTP, TCP, and UDP (User Datagram Protocol), and if you use your own protocol, Qt will support that, too.

Test Center Scorecard
30%25%25%10%10%
Trolltech Qt 4109989
9.2
Excellent
Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.