LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Choosing an appropriate GUI-toolkit (https://www.linuxquestions.org/questions/programming-9/choosing-an-appropriate-gui-toolkit-209217/)

max_sipos 07-24-2004 04:21 PM

Choosing an appropriate GUI-toolkit
 
We are planning to port a windows application (written in C++ with MFC) to Linux. We are trying to keep portability as our top priority. Which Linux GUI-toolkit would you recommend for development in this particular project?


Thank you for any suggestions.
--

Maksim Sipos

SciYro 07-24-2004 05:15 PM

java

Xt is the toolkit for X, it comes as a standard x lib these days ... tho its not really pretty

motif is toolkit i know id never use (and avoid any program written in it ... tho if it was a needed program (or good one i liked) id install it)

qt is for KDE

gtk is for pretty much anything but kde ( gnome uses it as its main toolkit, tho people that don't use gnome also have gtk as the gimp, and most popular programs (that arnt kde) use it (well, not most.... but a lot, and its a good toolkit, tho i never used qt)

tk (from tcl) is rather one that is seen on both kde or gnome (tho its rather ugly, its used to give tcl programs a GUI, and really most people only use it as needed)

i believe theres others but i forget them :)

unless you want to just use xlibs directly

Komakino 07-24-2004 06:58 PM

Quote:

Originally posted by SciYro
java

Xt is the toolkit for X, it comes as a standard x lib these days ... tho its not really pretty

motif is toolkit i know id never use (and avoid any program written in it ... tho if it was a needed program (or good one i liked) id install it)

qt is for KDE

gtk is for pretty much anything but kde ( gnome uses it as its main toolkit, tho people that don't use gnome also have gtk as the gimp, and most popular programs (that arnt kde) use it (well, not most.... but a lot, and its a good toolkit, tho i never used qt)

tk (from tcl) is rather one that is seen on both kde or gnome (tho its rather ugly, its used to give tcl programs a GUI, and really most people only use it as needed)

i believe theres others but i forget them :)

unless you want to just use xlibs directly

Qt is NOT for KDE. It happens to be the library that KDE is written in and it's entirely possible (not to mention common) to have the Qt libraries installed with not a hint of KDE anywhere.

That said, I have programmed in it and I loathed it. Anything using signals and slots (or whatever they call them) needs pre-compilling using their meta-object compiler. It's a pain in the @ss.

Gtk was designed originally to make the Gimp (it's short for Gimp ToolKit) and is fairly common, though in its basic form unsuitable for what you want as it's written in C, not C++. However there is a C++ wrapper called GTKMM which I have programmed in and found to be very usable and simple to pick up. It also has the advantage that the user can theme any programs created with it by changing their GTK theme.

There are others, but they aren't that common. In your boat I would try GTKMM, the online documentation is very good.

Qt: www.trolltech.com
Gtkmm: www.gtkmm.org

gizmo_thunder 07-25-2004 12:48 AM

I suggest you use Qt coz it proviedes the best portability.
it works on a broad range of platforms like mac, solaris, linux, windows etc

If you want portability.. and ease of programming Qt is the way to go :)

johnMG 07-25-2004 01:52 AM

Since you're coming from MFC, it's possible that the easiest path for you to follow is to use wxWidgets. I tried it once, and it seemed somewhat similar to MFC. YMMV.

Komakino 07-25-2004 11:24 AM

Quote:

Originally posted by gizmo_thunder
I suggest you use Qt coz it proviedes the best portability.
it works on a broad range of platforms like mac, solaris, linux, windows etc

If you want portability.. and ease of programming Qt is the way to go :)

From the gtkmm homepage:
Quote:

gtkmm should run under any UNIX-type system with the proper compilers and libraries installed. The GNU C++ compiler (g++, part of gcc) together with the GNU toolset (such as found on Linux and *BSD systems) comprise its default build environment.

gtkmm can also be be built and used with:

1. Sun's Forte C++, on Solaris.
2. Windows, with the mingw build tools.
Having used both Qt and Gtkmm I would say Gtkmm is by far the easier and is no less portable than Qt. It's certainly less hassle as it's genuine C++ without the need for hideous meta-object compilation.

acid_kewpie 07-25-2004 11:59 AM

GTK all the way, but then I'm biased as i hate KDE which QT was designed for ;)

max_sipos 07-25-2004 12:45 PM

Thanks
 
Thanks everybody for sharing your opinions. I guess we'll most probably use GTK or QT - we'll try out both.


--
Maksim Sipos

wapcaplet 07-25-2004 02:24 PM

If your opinion could still be swayed, I'd also like to throw in my vote for wxWidgets (formerly wxWindows). Admittedly, I do not have much experience with cross-platform programming, but it's supposed to be highly portable, and it's fairly easy to use.

max_sipos 07-25-2004 05:17 PM

Impressive history of the wxWidget project and nice looking screenshots say a lot. Another is the afore-mentioned MFC similarity. We are definitely going to try it out. It's downsides though, are that it's not as popular as GTK and QT and that it's a wrapper for other GUI APIs (if I understand it well), which means that the user still needs GTK or Motif under Linux.

--
Maksim Sipos

fortezza 04-20-2005 11:28 PM

So what did you finally go with? I am leaning towards QT, but feedback from someone who has tried different packages would be useful, thank you.

melinda_sayang 04-21-2005 07:42 AM

If you develop propriatary software and have a lot of money.... qt is the way to go.

If you develop proprietary software and don't have a lot of money.... gtkmm and wxwidget are the way to go. Gtkmm is more c++. Wxwidgets has bigger community.


All times are GMT -5. The time now is 07:35 AM.