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 |
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 |
Quote:
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 |
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 :) |
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.
|
Quote:
Quote:
|
GTK all the way, but then I'm biased as i hate KDE which QT was designed for ;)
|
Thanks
Thanks everybody for sharing your opinions. I guess we'll most probably use GTK or QT - we'll try out both.
-- Maksim Sipos |
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.
|
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 |
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.
|
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. |