C++ GUI Beginner - Qt or gtkmm?

G

gethostbyname

The Qt is under GPL, I would like mean the LGPL. I forgot the "L".
Sorry, english is not my native language. I forgot the "Lesser" part.

That is a important advantage for GTK+/Gtkmm.

gethostbyname

Noah said:
gethostbyname



It is not under GPL ;-)

[top posting fixed]

Really? Guess you better inform trolltech that for the past 10 years
they have been putting the wrong license on their product.
 
F

Fabio Fracassi

Matt said:
I am thinking of using Qt. In what sense does Qt extend C++? I don't
think you mean that they are building their own compiler.

No and yes (in that order). They have build something they call moc, meta
object compiler which has to run over all Qt Objects before compiling them.
It is however misnamed, since it is a pre-processor, which produces
standard c++ code.

If Qt
requires its own libraries for signals and slots and if those libraries
are licensed the same as the rest of Qt, then where is the problem?
Maybe those libraries can't coexist with the boost or other libraries?
Maybe you're thinking that supplantation of Qt signals-and-slots code by
the corresponding parts of boost will be problemmatic when/if those
parts of boost become Standard C++?

There were some clashes, because Qt uses "signal" and "slot" like a keyword
in their moc, which can of course clash. However both boost and Qt are
aware of this problem, and IIRC have provided workarounds.
I hope Trolltech isn't trying to become the Microsoft of Linux (in the
anti-standard, anti-interoperability sense).

Hardly. The moc compiler was a way of providing a weakly typed signal/slot
mechanism with a plain syntax. (in a time where template support was patchy
at best). Now Qt has the same problem as the standard, there is just too
much legacy code out there to radically change the infrastructure. Besides
providing weakly typed signals is difficult. (Whether it is a good idea is
a question for endless academic discussion, since each has their own set of
strengths and weaknesses)

AFAIK both use strong typing for signals. In a way that is more C++, but as
stated above it has its own set of problems.
So you're saying in some sense that GTK-- and boost are C++ and that Qt
is not. I guess I am ignorant of the details, but your post generates
FUD (whether justified or not) in prospective GUI developers. Please
clarify.

The moc compiler from Qt is certainly an addition, and in a way "taints"
the "pure" c++. However it is very well done, and gets in the way very
little.

I've made very good experiences with Qt. The only drawback is that you have
to pay license fees if you are doing closed source development, but you get
great support, too. (Also its seldom needed, since their documentation is
great.)

Regards

Fabio
 
A

Amadeus W. M.

Hello.
I do not know whether this really is the right group, but I could not
find any group dealing only with GUIs for C++ so here I am.

I am currently deciding which GUI to use in my program. It should be
able to show
- graphs
- contents of textfiles
- images (ppm or whatever)
- radio buttons, etc (user input elements)

Currently I am thinking of Qt or gtkmm. Although in C++ this is new to
me, I programmed a lot in Java using AWT/Swing.

Oh, furthermore, it is intended to be used in OS X as well as Linux.

Which would be the best choice and why?

Thanks a lot
Tim


A lot has been said already, and decisions have been made, but
I'll reply anyway.

I've been doing gui programming in C++ for some 5 years. I
did try both qt and gtkmm and I liked both. I did settle on
gtkmm, because I use gnome as my desktop, and I'm trying to
not overload my system with kde libraries (which qt would require).
Had I been using kde, I would have avoided the gnome libraries.
I also liked gtkmm a bit more, because it used the gnu auto tools,
and nothing more, no other specific tools.

But about 2 years ago I also found fltk (fulltick), which I
found MUCH easier to use than either gtkmm and qt, and it's
pure C++ (no wrapper ad gtkmm) nor does it extend C++ (as qt),
and has a gui builder too. At the time, I was already too much
into gtkmm to switch to fltk, but had I been starting GUI
programming now, I'd give fltk a serious try. Otherwise,
just use the kit designed for your desktop.
 
N

Noah Roberts

Fabio said:
The moc compiler from Qt is certainly an addition, and in a way "taints"
the "pure" c++. However it is very well done, and gets in the way very
little.

Yeah, it's pretty clean. Makes using autoconf and friends more
difficult though. Qt expects you to use qmake and doing otherwise
requires a bunch of files from KDE devel. You can do it, its just more
difficult. I managed it with a program I was developing for Qtopia a
while back.

Looking back at the OP they said "GUI Beginner" and I was assuming
beginner in general. Qt is good, but if a person is just learning C++
I wouldn't do it using a GUI library that adds things to the language;
could get in the way of learning the language itself and that is the
only library that works in that particular way. If the OP is not a
novice C++ developer then it doesn't really matter as they will not
develop assumptions about how the language is supposed to work based on
an extended version of it.
 
M

Matt

Noah said:
Fabio Fracassi wrote:




Yeah, it's pretty clean. Makes using autoconf and friends more
difficult though. Qt expects you to use qmake and doing otherwise
requires a bunch of files from KDE devel. You can do it, its just more
difficult. I managed it with a program I was developing for Qtopia a
while back.

If moc and qmake are included with Qt and are under the same licensing,
then does it reduce to the problem(s) related to autoconf and friends?

hy did you not use qmake and moc?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,218
Latest member
JolieDenha

Latest Threads

Top