Qt: Best Cross-Platform GUI Applications

qt For application developers who are hunting down to rewrite GUI for every other OS, there is a simple and yet, an elegant solution : Qt

Qt (pronounced “Cute”) is cross-platform application and UI framework developed and maintained by telecom giant, Nokia. As far as I can tell you, this is the most portable, and yet most feature-ful UI, I’ve seen lately. Surprisingly, it works on both PCs and mobiles, alike. It supports embedded-Linux, Mac OS, Windows, Linux, Windows Mobile, Symbian, and Maemo:qt-platforms

Almost, every popular platform is included (I wish iPhone was bit more open).

Qt is most widely used in Google Earth, KDE, Opera, OPIE, VoxOx, Skype, VLC media player and VirtualBox and 100s of other applications. Qt uses standard C++, but makes extensive use of the C pre-processor to enrich the language. Qt can also be used in several other programming languages via language bindings. Qt uses native widgets and wraps them in a common API across all platforms. Non-GUI features (discussed later) include SQL database access, XML parsing, thread management, network support and a unified cross-platform API for file handling.

Apart from all that, it’s quiet good on features:

  • Advanced GUI: A big set of widgets (with stylesheets), from buttons to tables. Advanced formatting, scaling, orientation layouts. Support for vector graphics, and hardware acceleration
  • 2D, 3D Graphics & OpenGL: Full 2D, 3D acceleration enabled apps with OpenGL ES (mobile), Direct 3D (windows)
  • Fully Multithreaded: High-level Multithreading API, Easier data management and synchronized inter-object communications.
  • Rich Multimedia Framework: Supports multiple media codecs, streaming technologies.
  • WebKit, XML, Networking Integration: Local content can be blended with Web content seamlessly.
  • Databases: Supports all major databases.

It’s available via APIs for a number of Languages: C++, C#/.Net, Python, Ada, Pascal, Perl, PHP, Ruby and Java.

If we talk about Java in particular (Platform independent code + platform independent GUI makes sense right?), few factors that favor Qt more than Java Swing or Java SWT are:

  • Easy to use and learn
  • Good documentation
  • Good support
  • Active development

The official video below talks about the some of the most widely applied use cases and application in industry which vary from space to embedded systems in industries:

They have a number of Videos demoing various applications, you can check them out at their Official Youtube channel. Pretty interesting stuff, full multitouch on phones, Maps, simulations and more.

Qt has a much steeper learning curve and the API is much more consistent, not to mention that Qt has been improved the last seven years while Swing hasn’t. The Popular KDE is based on Qt, so there are lot of people out there using it, and user-experience is great.

The SDK is available under LGPL and as commercially supported licensed product too. Go ahead and proceed to Downloads section, I’m sure you will have great first-hand experiences.

We write Latest Tech updates in Open Source, Programming, Java, Tech News find us on Twitter @taranfx or subscribe below:

GD Star Rating
loading...
GD Star Rating
loading...
Qt: Best Cross-Platform GUI Applications, 10.0 out of 10 based on 1 rating

5 thoughts on “Qt: Best Cross-Platform GUI Applications”

  1. Qt seems quite good as a GUI framework. One thing to consider before using it is that it has two versions. The LGPL version can be used only if your own application will be under LGPL. Otherwise you will have to purchase the commercial version.

    GD Star Rating
    loading...
    GD Star Rating
    loading...
    Reply
    • Wrong. There are no other terms, it's just the LGPL. You'd only need the commercial license if you modified Qt itself and didn't want to release your edits.

      GD Star Rating
      loading...
      GD Star Rating
      loading...
      Reply
    • No, that's the case for the GPL, the LGPL can be linked against without releasing your own application under GPL/LGPL. Only if you make changes to Qt you have to release the changes…

      GD Star Rating
      loading...
      GD Star Rating
      loading...
      Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.