Develop multi-platform interface skills on the Qt

News

Develop multi-platform interface skills on the Qt

Nick Langley

Qt GUIs run on Windows, Linux, Mac and Unix.

What is it?

Best known as a C++ toolkit for multi-platform graphical user interface (GUI) development, Qt is increasingly used for larger projects such as console tools and servers.

One claimed advantage is that, from a single source code-base, Qt applications run natively on Windows, Linux and Macintosh.

In other words, once they have learned the Qt application programming interface, developers can produce applications that will run unchanged on all major operating systems.

Qt has influential users such as Adobe, Hewlett-Packard, IBM and mobile phone manufacturer Motorola - there is an embedded edition, Qtopia, for handheld devices.

Customers include aerospace companies, computer aided design suppliers, film animators and Google Earth.

Qt is a hybrid of open source and commercial software. Its creator, Trolltech, has a dual licensing model, which offers "the advantages of open source in a commercially supported, proven framework".

The open source edition of Qt is complete "with some exceptions". Originally only the Unix/Linux version was available as open source, but Windows has now been added.

Where did it originate?

Work on Qt began in the early 1990s. Trolltech was founded in 1994, and the first commercial Qt offering was launched in 1995. The "free" edition was released in 1996, but with restrictions that caused problems in the open source community.

In 1998, the licence terms were changed to allow programmers to distribute and share any modifications they made to the Qt Free Edition. This was previously a source of dispute, since the KDE Linux desktop environment is based on Qt. The non-GUI console versions began with Qt 4 in 2005.

What's it for?

Qt uses standard C++, with a library of more than 400 C++ classes covering most of the infrastructure requirements of application development. It can also be used with Python, Ruby, PHP, C, Perl, Pascal, C# and Java. Qt Designer is a GUI layout and forms builder.

The complete edition of Qt also includes SQL database access and database programming, networking and XML. Since Qt 4 was released, integration with Microsoft Visual Studio .net has been added and, more recently, support for Windows Vista.

What makes it special?

According to Trolltech, Qt can improve developer productivity by between 30% and 50%, particularly in GUI development.

How difficult is it to master?

In theory, Qt developers only have to learn one application programming interface to develop applications that can run on multiple platforms. They can also build on their existing programming skills.

Trolltech and its partners offer a five-day Qt "Open Enrolment" course, which provides an in-depth introduction. Prerequisites include a working knowledge of C++, as well as basic knowledge of GUI programs.

Where is it used?

Trolltech said Qt has 4,500 user companies, including Boeing, Lockheed Martin, Chevron Texaco, Deutsche Telekom and Siemens, the European Space Agency, Nasa, Imagineer Systems and Walt Disney Feature Animation and many scientific and medical visualisation applications.

What systems does it run on?

Windows, Mac OS X, Linux, Solaris, HP-UX, Irix, Aix and other Unix variants. There is an embedded Linux port, Qtopia Core.

What's coming up?

QGraphicsview, for developers of computer aided design/manufacturing, medical and scientific visualisation programs who need to handle lots of 2D graphics elements.

Training

The Trolltech site provides details of Qt courses and training service providers. There is also plenty of free online material, a plethora of which can be found by typing "Qt tutorial" into your internet search engine.

Rates of pay

Salaries for C++ developers with Qt GUI-building skills start at £35,000.

Salary survey

Comment on this article: computer.weekly@rbi.co.uk

Catch up on training advice with Hot Skills

 


Email Alerts

Register now to receive ComputerWeekly.com IT-related news, guides and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
 

COMMENTS powered by Disqus  //  Commenting policy