GUI framework for new C++ project

M

maybetooparanoid

Hello,

I am now in the crucial moment I must choose one GUI platform for a new
project, and would like to get some advice from experts. Details about
my project:

- source code is in C++ => GUI should interface the existing code
easily, and exchange complex data structures with the core of the
application.
- not commercial right now, but it might be in the future => I cannot
decide yet whether sources can be disclosed or not => I assume the
worst case in terms of licensing: sources cannot be disclosed.
- must be portable between Windows and Linux => the core of the
application is compiled with gcc under cygwin.
- other teams might join the project soon, and I assume they will not
want to waste their money => I plan to move to Mingw since I recently
realized Cygwin is not free for commercial applications.
- the GUI should be highly responsive => Java GUIs or other interpreted
frameworks are discarded.

My options now are:
- QT => problem: they say a commercial application should purchase the
license from the beginning of the development cycle, but right now I
don't know if my application is commercial. In addition, the commercial
license is expensive (3000$).
- TCL/TK
- wxWidgets

Can anyone give me a hint? I would like to know if there is a big
difference in features/performance for those frameworks (or any other
you could add to my list).

I'm particularly interested in knowing how easily does TCL/TK couple
with C++, and how stable is wxWidgets (it does not seem to have good
support, although I might be wrong).

Thanks in advance.
 
M

maybetooparanoid

Very good hint Victor. However, I would appreciate other hints that do
not assume that I am a lazy guy who did not already look in Google
Groups or just Google.

Thanks.
 
H

hhex

Hello,

I am now in the crucial moment I must choose one GUI platform for a new
project, and would like to get some advice from experts. Details about
my project:
- wxWidgets

I like wxWidgets - looks good, allows commercial usage and is mature.

Heinz
 
M

maybetooparanoid

What about Fox?

http://fox-toolkit.net/

I downloaded the examples Fox Calculator and Fox Adie Text Editor and
they look native and fast. When we take a look at source code, it looks
easy. Many commercial products use it.

Can anyone say a word about wxWidgets and Fox? I have the impression
that wxWidgets has more widgets to use, but I might be wrong since I
didn't actually try wxWidgets or Fox.
 
V

Victor Bazarov

What about Fox?

http://fox-toolkit.net/

I downloaded the examples Fox Calculator and Fox Adie Text Editor and
they look native and fast. When we take a look at source code, it
looks easy. Many commercial products use it.

Can anyone say a word about wxWidgets and Fox? I have the impression
that wxWidgets has more widgets to use, but I might be wrong since I
didn't actually try wxWidgets or Fox.

Let's assume you're *not* a lazy guy and you already *have* looked on
Google Groups and Google in general. What from the opinions you have
encountered there didn't you like? Were they too old (not recent to
be good)? Were they too personal? Were they based on a different use
of those toolkits than you expect in your projects?

V
 
M

maybetooparanoid

Victor. you fill my thread of useless personal information. Please
don't waste your time in writing here.
 
A

Amadeus W. M.

Hello,

I am now in the crucial moment I must choose one GUI platform for a new
project, and would like to get some advice from experts. Details about
my project:

- source code is in C++ => GUI should interface the existing code
easily, and exchange complex data structures with the core of the
application.
- not commercial right now, but it might be in the future => I cannot
decide yet whether sources can be disclosed or not => I assume the
worst case in terms of licensing: sources cannot be disclosed.
- must be portable between Windows and Linux => the core of the
application is compiled with gcc under cygwin.
- other teams might join the project soon, and I assume they will not
want to waste their money => I plan to move to Mingw since I recently
realized Cygwin is not free for commercial applications.
- the GUI should be highly responsive => Java GUIs or other interpreted
frameworks are discarded.

My options now are:
- QT => problem: they say a commercial application should purchase the
license from the beginning of the development cycle, but right now I
don't know if my application is commercial. In addition, the commercial
license is expensive (3000$).
- TCL/TK
- wxWidgets

Can anyone give me a hint? I would like to know if there is a big
difference in features/performance for those frameworks (or any other
you could add to my list).

I'm particularly interested in knowing how easily does TCL/TK couple
with C++, and how stable is wxWidgets (it does not seem to have good
support, although I might be wrong).

Thanks in advance.


This is somewhat late, but hopefully not too late.

I'd wholeheartedly recommend FLTK (http://www.fltk.org).

It's by far the fastest and lightest. No bloat, no nonsense.
A simple program has a size of only O(10k) bytes, even when linked
statically (default, but can be linked as a shared library too).
Hence you can ship fltk executables without extra libraries.
Works natively in Linux and Windows and it's all C++ (not a wrapper
like gtkmm). Free, and very easy to learn and use. Good documentation
too. If you do decide on FLTK, start with version 2.0, rather than the
stable 1.x. To say the least, it's the GUI library of choice in ITK - a
major computer vision project.

Give it a try, you won't be sorry!
 
A

ajalkane

Can anyone say a word about wxWidgets and Fox? I have the impression
that wxWidgets has more widgets to use, but I might be wrong since I
didn't actually try wxWidgets or Fox.

I haven't personally tried wxWidgets, but a little over a year ago when
I was in the similar situation as you I decided Fox suits my purpose. I
haven't hat any regrets with that decision, Fox is very easy to use and
fast. The most common complaint that I've heard relating to Fox is that
it does not use native widgets, but if that's not an issue to you I
recommend it.
 
T

toton

Hello,

I am now in the crucial moment I must choose one GUI platform for a new
project, and would like to get some advice from experts. Details about
my project:

- source code is in C++ => GUI should interface the existing code
easily, and exchange complex data structures with the core of the
application.
- not commercial right now, but it might be in the future => I cannot
decide yet whether sources can be disclosed or not => I assume the
worst case in terms of licensing: sources cannot be disclosed.
- must be portable between Windows and Linux => the core of the
application is compiled with gcc under cygwin.
- other teams might join the project soon, and I assume they will not
want to waste their money => I plan to move to Mingw since I recently
realized Cygwin is not free for commercial applications.
- the GUI should be highly responsive => Java GUIs or other interpreted
frameworks are discarded.
Java is highly responsive. Claims that Java GUI are slow is false. Try
one Java & One C++ GUI using same feature and compare. If you dont want
to code in java, or dont want to run something in VM that is different.
My options now are:
- QT => problem: they say a commercial application should purchase the
license from the beginning of the development cycle, but right now I
don't know if my application is commercial. In addition, the commercial
license is expensive (3000$).
- TCL/TK
- wxWidgets
You solved your problem! Qt is out (as you do not want to pay a fee for
commercial app). TCL/TK & wxWIdgets remains. You can prefer the later
one as that is matured supported by a vast platform and has a very rich
api (but very bad design, you have to get adapted with its design).
Can anyone give me a hint? I would like to know if there is a big
difference in features/performance for those frameworks (or any other
you could add to my list).

I'm particularly interested in knowing how easily does TCL/TK couple
with C++, and how stable is wxWidgets (it does not seem to have good
support, although I might be wrong).
wxWidgets is very stable, and used by many companies, has good support
(both commercial & non commercial) and not any way difficult wrt TCL/TK
You can have a look at FLTK/FOX if you want small UI design.
You can have a look at UCPP and VCF (They are yet to support mature
Linux port), they are very good and feature rich.
SWT is another option from Java world (quite good api, not better than
Swing but better than awt), and whole Eclipse platform (The most
advanced platform on the earth!) is based on it.
 
M

maybetooparanoid

Thanks everybody, I hope this thread helps more people in a similar
situation.

As some people pointed out in this thread, there are good and free C++
alternatives to QT. After some days of discussions in this and other
newsgroups, currently I bet for wxWidgets. My reasons are:

- It is free for commercial and non-commercial applications.
- Everybody says it is very stable.
- Has great community around (it is the only one that has a very active
Google group).
- I read it is one out 25 most active projects in Sourceforge (or 1
out of 100, I don't remember).
- It has many widgets and bindings.
- Many development tools supported.
- And finally and most important: it is fast and looks good.

The only reason why I prefer wxWidgets rather than Fox or FLTK (which I
agree look better designed) is that they do not have a community as
active as wxWidgets, and they have less widgets to choose from. I
understand this is a vicious circle, and new frameworks need a chance,
but my uncertainty about the future of the project makes me more
conservative. However, for all those people who know for sure their
project will not be commercial in the short term, I encourage you to
use Fox and FLTK, as their support and stability can only grow and the
results look excellent.

Thanks again and please tell me if any of my assumptions is wrong.
 

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

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,071
Latest member
MetabolicSolutionsKeto

Latest Threads

Top