quote:
As for GTK+ vs. Qt for programming, I'd like to hear some opinions. GTK+ seems to be used more than Qt. Generally I find GTK+ apps more responsive than Qt ones.
Qt is OK, however my preference for programming graphical apps is
FOX. Qt uses what they call the "signals 'n' slots" implementation. What this basically comes down to is a series of call-backs involving a special connector object that holds an array of function pointers. When you click on a Qt widget, the program cycles through all these pointers, looking for the one that matches the signature of the particular "slot" or event handler you need to call. Thus, once the code is written, the die is cast, and there's no way to alter what widget calls which event handler at run time. Not only that, but the Qt implementation requires an additional compilation step,using Qt's "moc" program to remove all the non-C++ declarations before your C++ compiler can do its job. In that regard, Qt is much like Borland's C++Builder. Secondly, any widgets that need to change state in response to user input must be hard-coded.
FOX, OTOH, requires no special declarations, and no special FOX-only compiler. The FOX "Targets 'n' Messages" implementation can be changed at run-time, so your widgets can call a variety of event handlers. State updating is handled automatically as FOX widgets can send messages both ways: to the main app to notify about state changes, and to query the app about any state changes that may need to be made. This results in faster code, smaller executables, and very little hard-coding required to force a widget from one state to another. FOX isn't as easy to use as there's no GUI designer like Qt Designer, so all coding has to be done by the developer. So you invest in some good pencils, and a pad of quad paper, NBD. Since giving FOX a go, I haven't touched Qt Designer or KDevelop at all.
Besides, FOX apps are just plain better-looking.
____________________________________
Their fundamental design flaws are completely concealed by their superficial design flaws
Live Free or Die: Linux