Qt cross platform

External: index
Internal: |- preamble -|- downloads -|- Qt Runtime DLL -|- TerraGUI 07 -|- Qt Examples -|- end -|


2011-05-22: I only recently was introduced to 'Qt' - http://qt.nokia.com/ - but have quickly taken to is as a very good cross platform application and user interface (UI) development tools. It comes in two(2) forms - a commercial version, and an LGPL version. Of course here I am only talking about the GPL version!

For a long time I have looked for a cross-platform Integrated Development Environment (IDE) which did all, or at least most of what the Microsoft Visual Studio (MSVC) IDE provided. Perhaps the most important being the context sensitive popup/tooltip information. By this I means you can have a defined structure, declare an instance of it, than after you type a '.', or a '->' if a pointer to the structure, and combo box popups showing all the members available.

Here's a simple example from Qt - It has a 'class' defined called 'QFile' so typing the code snippet 'QFile f; if (f.', you get instant help, as the following image shows :-
image qt-01.jpg

Here I have scrolled down to the 'exists' member, and then a simple 'tab' key-in will complete the function. and you are again presented with the options available per the following image :-
image qt-02.jpg

But it is more than this massive popup, tooltip assistance, you can compile the 'application', and run it under the debugger all from within the IDE. If there are compile problems, you can instantly get the line of code in error to fix it, and under the debugger you have a full code view available, thus you are able to trace through the 'written' code.

This 'Qt Creator', as they call the IDE is a serious competitor to MSVC ;=))



Take care downloading and running executables from the web!

But in SOME cases I have NOT included any 'executables', since the idea is that you download and install the 'Qt SDK' into the OS of your choice, then unzip these examples into a folder of your choice, and load the included '*.pro' project file into 'Qt Creator' and build your own executables. Where there are executable, you will still need to 'deal' with the required runtime DLLS, given down the page.

While the 'Qt SDK' comes with lots of 'examples', I found I could learn lots about the giant Qt class library by extending some of those examples, or some others downloaded from the web...

Date Link Size MD5
2011/05/28 textfind-02-exe.zip 32,966 2928750c9ea128becff7ae186cc65e05
2011/05/28 textfind-02-src.zip 7,495 4897bc436215bb421d8e0869e9291441
2011/05/21 queuedcustomtype-02.zip 12,548 d683a6aedd30a3fdbc7cac5950d95a36
2011/05/22 simpledialog-01.zip 3,618 5fc4296a9e1401617deffad898b5c287
2011/05/21 findfiles-01.zip 8,392 41d1e34b58f1f5feeea80f5efe454826
2011/05/20 waitconditions-01.zip 3,131 b525a270c8c83d697326c321b01d5048
2011/05/17 download-01.zip 3,375 ede30d7aa404db9ff99ae45f5ead07e2

textfind : The 'textfind' example includes a non-modal 'find' dialog, and connecting a click from it back to a 'textfind' class function. It also has a 1 second timer callback message flowing...

download : The item 'download' is quite interesting in that it is a reasonable simple replacement for GNU 'wget'... and I have extended it to 'understand' the first response from the flightgear mapserver is just HTML, giving the 'name' of the desired zip file to download.

queuedcustomtype : The 'queuedcustomtype' sends a request to a thread, and during the thread running, the thread passes back (a) special image updates to be done in a Block class structure, and (b) string of update and timing information to be displayed on the 'main' widow... the thread can be 'stopped', and restarted with another image file...


Projects Using Qt Runtime

As suggested above, you can get the full set of Qt windows 32 runtime DLLS by downloading and installing the Qt SDK, but the download below is a minimal list needed to run my 'example' applications.

Date Link Size MD5
2011/04/26 Qt-DLLS-02.zip 5,733,193 2378c7e39e99c4a809d372212f9e3bb5

Aside for the above mainly example code, I presently only have one project using the Qt runtime...

Developed and maintained by Gijs de Rooy, this is a GUI to run the terragear scenery construction tools. The full GPL2 source can be obtained through Git, on gitorious.org, through the command -
 > git clone git://gitorious.org/terragear-addons/terrageargui.git [out-dir]
and it is recommended you obtain and compile that source...

The table below contain my slightly modified source, and Win32 runtime executable, built using Qt Creator 2.0.1, based on Qt 4.7.0 (32 bit), built on Aug 24 2010 at 11:00:55, from revision 97d831e3de, Copyright 2008-2010 Nokia Corporation. All rights reserved. This source is released under GPL2 or later...

Take care downloading and running executables from the web!

Date Link Size MD5
2011/05/26 TerraGUI-02-src.zip 39,462 85b96befee9bec767189276ee7d378f0
2011/05/26 TerraGUI-02-bin.zip 261,778 75676d59e945a6942d05e2e374001eb0
As mentioned you also need the 'Qt' runtime DLLs to run this binary

Other Qt Examples

qt_osm_map.htm - Some tests using OpenStreetMap (OSM) maps, and MORE...

qt_test_gui.htm - Some test routines, including using 'zlib', and some 'simgear' services

threading.htm - An exploration of Qt QThead API, and how to 'exit' promptly when the thread is running



checked by Tidy  Valid HTML 4.01 Transitional