Click here to Skip to main content
15,885,862 members
Articles / Programming Languages / C++

Development of applications of Cross-Platform with Qt and MSVC++ - Part 2

Rate me:
Please Sign up or sign in to vote.
1.65/5 (13 votes)
4 Jun 2005CPOL3 min read 40.8K   24   2
Qt Designer and Compilers

Sample Image - Qt002.jpg

Introduction

In the last article I talked about the first steps of the creation of a program example using Qt and MSVC++. Now I will supply some details on this library and the resources that it offers to the planner of softwares.

Qt Compiler Notes

See the compilers' options and their architectures below:

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"><v:f eqn="sum @0 1 0"><v:f eqn="sum 0 0 @1"><v:f eqn="prod @2 1 2"><v:f eqn="prod @3 21600 pixelWidth"><v:f eqn="prod @3 21600 pixelHeight"><v:f eqn="sum @0 0 1"><v:f eqn="prod @6 1 2"><v:f eqn="prod @7 21600 pixelWidth"><v:f eqn="sum @8 21600 0"><v:f eqn="prod @7 21600 pixelHeight"><v:f eqn="sum @10 21600 0"><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"><o:lock aspectratio="t" v:ext="edit">

<v:shape id="_x0000_i1033" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/vcpp.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Visual C++ Windows 95/98/Me/NT/2000/XP
<v:shape id="_x0000_i1025" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/cxx.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Compaq C++ Tru64
<v:shape id="_x0000_i1026" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/gcc.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> GCC most platforms (Linux. FreeBSD, etc)
<v:shape id="_x0000_i1027" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/hpacc.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> HP aC++ HP-UX
<v:shape id="_x0000_i1028" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/intel.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Intel C++ Linux
<v:shape id="_x0000_i1029" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/kai.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> KAI C++ Linux
<v:shape id="_x0000_i1030" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/mips.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> MIPSpro IRIX
<v:shape id="_x0000_i1031" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/suncc.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Forte Developer / Sun Studio Solaris
<v:shape id="_x0000_i1032" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/compilers/xlc.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> IBM xlC AIX

Platform Notes

Now, we will look at the options of platforms. See the platforms and their respective support libraries below. In case the reader wants details on a specific platform, I recommend to seek the manufacturer's site to obtain more details.

X11

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"><v:f eqn="sum @0 1 0"><v:f eqn="sum 0 0 @1"><v:f eqn="prod @2 1 2"><v:f eqn="prod @3 21600 pixelWidth"><v:f eqn="prod @3 21600 pixelHeight"><v:f eqn="sum @0 0 1"><v:f eqn="prod @6 1 2"><v:f eqn="prod @7 21600 pixelWidth"><v:f eqn="sum @8 21600 0"><v:f eqn="prod @7 21600 pixelHeight"><v:f eqn="sum @10 21600 0"><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"><o:lock aspectratio="t" v:ext="edit"><v:shape id="_x0000_i1025" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/aix.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> AIX - 4.1 or later
<v:shape id="_x0000_i1026" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/bsdi.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> BSD/OS - 2.0 or later
<v:shape id="_x0000_i1027" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/dgux.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> DG/UX
<v:shape id="_x0000_i1028" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/embedded.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Embedded
<v:shape id="_x0000_i1029" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/freebsd.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> FreeBSD - 2.1 or later
<v:shape id="_x0000_i1030" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/hpux.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> HP-UX - 10.20 or later
<v:shape id="_x0000_i1031" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/irix.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> IRIX - 6.x
<v:shape id="_x0000_i1032" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/linux.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Linux
<v:shape id="_x0000_i1033" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/netbsd.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> NetBSD
<v:shape id="_x0000_i1034" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/openbsd.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> OpenBSD
<v:shape id="_x0000_i1035" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/sco.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> OpenServer
<v:shape id="_x0000_i1036" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/qnx.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> QNX
<v:shape id="_x0000_i1037" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/reliant.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Reliant UNIX
<v:shape id="_x0000_i1038" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/solaris.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Solaris - 2.5.1 or later
<v:shape id="_x0000_i1039" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/osf1.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Tru64 UNIX - 4.0 or later
<v:shape id="_x0000_i1040" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/unixware.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> UnixWare

Windows

<v:shape id="_x0000_i1041" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/windows95.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Windows 95
<v:shape id="_x0000_i1042" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/windows98.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Windows 98 and Me
<v:shape id="_x0000_i1043" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/windowsnt.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Windows NT (4.0 or later), 2000, and XP
<v:shape id="_x0000_i1044" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/xlib-on-windows.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> XLib on Windows

Mac OS X

<v:shape id="_x0000_i1045" style="width: 0.75pt; height: 0.75pt;" o:button="t" href="http://www.trolltech.com/developer/platforms/osx.html" type="#_x0000_t75"><v:imagedata o:href="http://www.trolltech.com/images/spacer_grn.png" src="file:///C:\DOCUME~1\Willian\CONFIG~1\Temp\msohtml1\01\clip_image001.gif"> Mac OS X (all versions)

Using Visual C++ 6.0

· no longer support version 5 and earlier.

· Fix all bugs installing Service Pack 5.

· Use a tiny path to QTDIR (C:\QT\3.c)

· VC++ 6.0 Linker doesn’t support filenames with spaces (C:\Program Files\Qt\3.x), try use QTDIR=C:\QT\3.X).

· Be carrefull with alignment flags like /Zp2

· The Qt 3.2.x can use .NET and VC++ 6.0.

· Forget “Visual C++ Toolkit 2003”, it don’t will work, sorry.

If you will develop tools or programs of public domain, then you don't need to pay for the commercial license of QT, it can use the version no commercial "qt-win-noncommercial-msvc-3.2.1.exe".

Be careful, because these programs should be distributed with the sources codes. And that you do is useful for a lot of others people, order copy of the code for the manufacturer of Qt.

See the list of the operating systems and the name of the file of distribution of the no-commercial editions.

Microsoft Windows => qt-win-noncommercial-msvc-3.2.1.exe

MacOS => qt-mac-free-3.2.1.tar.gz

Linux => qt-x11-free-3.2.1.tar.gz

There's a old version of Qt 2.30 . It's work fine! ;-)

You can get a trial version of QT. You can find good books about QT programming on internet.

· C++ GUI Programming with Qt 3 (Jasmin Blanchette and Mark Summerfield)

· Qt. Professional programming with C++ , Russian (Max Schlee)

· Qt/KDE 2 Programming (MingChe Chuang)

· Programming With Qt (Matthias Kalle Dalheimer)

· Qt Programming in 24 hours (Daniel Solin)

· Qt Programming for Linux and Windows 2000 (Patrick Ward Prentice)

We did ties now it went to talk about Qt and their functionalities and restrictions. Now, I will make an abbreviation introduction about IDE of Qt. It will allow you to create screens and codify their programs easily. The qmake will generate the intermediate files, necessary to transform the interface projects in code C++. The interface files has extension *.UI.

This is the template dialog. Look the samples, But you can create their models.

Template dialog

I will talk more about Qt Designer in the next article.

Any doubt or text no readable and only to scream!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Brazil Brazil
Developer:
- MS VB6
- C/C++/C#
- VBScript
- JScript
- Clipper
- Cobol
- Natural
- Pascal
- TCL/Tk
- Python
___________________________________
Willian Silva Rodrigues
http://www.williansilva.com.br
http://br.linkedin.com/in/willianbr
--- --- --- ---
Radio(NXTL):55*112*109193
BBM PIN: 238d4349
___________________________________

Comments and Discussions

 
QuestionWhy in the C#/.NET section? Pin
Judah Gabriel Himango4-Jun-05 14:44
sponsorJudah Gabriel Himango4-Jun-05 14:44 
AnswerRe: Why in the C#/.NET section? Pin
diilbert4-Jun-05 23:57
diilbert4-Jun-05 23:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.