Qt 3.x Linux (one Qt 4.x and one KDE widget)
For those familiar with the Borland or Microsoft approach to C++ programming and the IDE, this interesting tool will look quite different and will provide no IDE. There are a few differences brought about by the use of the Qt widget but all in all this is a very sophisticated and complete toolkit. It is straightforward to create your own widget from a starter class. In addition, this is supposed to work on Windows and other platforms as well. Personally, I like to use the C functions for file operations so these coded parts may not transfer well. For IDE today I recommned the KDE KDevelop that is a sophisticated and complete tool. You may also opt to use a simple text editor such as Kate or KWrite and perform your compile from the command line using the Qt qmake to make your makefile and command line scripts in the Bash shell to compile, link, and execute. I will give a simple example of that. See the downloads for the code. Also note that these are based on the 2.6.9.x kernel and Fedora 3, 4, or 5.
In this offering you will find a text editor that uses a text editor widget, a spreadsheet that uses no widget but creates one in code and with all the functions and cell evaluation as well as graphic display. There is a file explorer, a picture editor for doing some manipulation, and a database application. Then there is a text editor that uses Qt 4.x with its newer classes. Then, there is a KDE widget that uses the Konqueror engine to perform as a web browser with a rather complete set of capabilities and a presentation application based on a canvas widget.
Our example here is a text editor with a fair number of capabilites but certainly no Word or WordPerfect. There are times when you need a simple editor to handle configuration files or whatever. This widget uses html attributes for the text formating and saves them as such. The example given later is based on the Qt 4.x class library and provides a rather complete formating capability including embedded pictures, tables, and objects such as buttons.
TextQt

Our example here is a spreadsheet with a fair number of capabilites including cell evaluation and graphical display of data and data fitting, but certainly no Excel, QuattroPro, or Lotus clone. So why bother? Well, for one thing it could be a good teaching tool for yourself. It also gives you a lightweight tool that you can program to satisfy your own functional needs. Whatever you want, it will be hard-coded and execute at blinding speeds. This application also contains some ways of saving data where you are in control of the format, and it is not all text either. I think this is far superior than having the framework do all the IO for you and you have not a clue as to what is going on. We also have complete control of the paint event so it performs as you want. There is also built in the external database access (SQLite and MySQL).
Spreadsheet

Our example here is a minimal database application with some details on using SQL queries to build tables and retrieve data. This uses the MySQL provided in the Fedora distribution and it works fine. You need a Qt framework that has database drivers included in the compile (comes that way in Fedora but not explicit if you download the framework from Trolltech). See the spreadsheet program for how to include a database directly in your project using SQLite. I created the database itself using the shell program provided by MySQL. See mysql.com for details on their system and get their manual for some good advice.
DataBase

Our example here is a picturebox like application with a fair number of capabilites for manipulating bitmaps of one form or another. Qt only provides 2 bit, 8 bit, and 24 (32) bit support for png, gif, jpeg, and bmp formats. That is all folks. There are some additional routines I have added including special effects, resizing with resampling (nice!), color reduction using octree optimization (nice!), and a simple picture cropping capability. The way Qt does the color table is beyond my comprehension, but I can get it to work with a strange translation. If you are unfamiliar with the scanline function, then take a look at some of this because it is used for bit maninpulation. As usual, my code is very simplistic and not too bright so be forewarned. It works a lot like I think so I can understand it better and elegance is not only absent, it is not even a design concept.
PictureBox

Our example here is a classic text editor like application with the increased capabilities of QT 4.x. Note the shell command for building using a new directory for the Qt location.
TextQt4

Our next example is a nice little presentation program that is based on QCanvas and is really quite flexible. I added some functions and created a file format to save the presentation created.
Canvas

Our next example is a browser application based on the KHTML class and the KDE toolkit that is itself based on Qt. The Qt toolkit lacks a browser per se and this one is based on Konqueror so it has the whole enchilada if you want to add the features yourself. Konqueror is fully functional and is the basis of Safari in the Mac world. There are some issues here that I have not completely figured out. This uses not only KDevelop but the KDE environment for the entire project. There is a lot of extra stuff in there compared to a Qt type project.
Simple Main

Last updated 06/10/2006