Portable C++ GUI framework

Discussion in 'C++' started by Ioannis Vranos, Jun 26, 2008.

  1. I think this is on topic here, because it is about C++ and available
    portable C++ GUI frameworks.


    I am looking for a decent portable C++ (meaning C++ API, not C) GUI
    framework that works both on Linux and Windows, so as to study and learn
    it. That is, there should be at least one good decent book about it.


    One option is QT. QT licensing however, is to pay for the QT framework,
    for running non GPL applications on Windows.

    Does anyone know any decent (like QT) portable C++ GUI framework for
    Linux and Windows with good documentation (books) available?
     
    Ioannis Vranos, Jun 26, 2008
    #1
    1. Advertising

  2. Ioannis Vranos wrote:
    > I think this is on topic here, because it is about C++ and available
    > portable C++ GUI frameworks.
    >
    >
    > I am looking for a decent portable C++ (meaning C++ API, not C) GUI
    > framework that works both on Linux and Windows, so as to study and learn
    > it. That is, there should be at least one good decent book about it.
    >
    >
    > One option is QT. QT licensing however, is to pay for the QT framework,
    > for running non GPL applications on Windows.
    >
    > Does anyone know any decent (like QT) portable C++ GUI framework for
    > Linux and Windows with good documentation (books) available?


    I think it's still off-topic here, because this has only little to do
    with the language itself. The new comp.lang.c++.misc group might be
    better (if it's already available at your news server).


    Nevertheless: e.g. GTKmm, wxWidgets

    Though, I think there is no book on GTKmm (the C++ library
    http://www.gtkmm.org) but only on GTK (the C Library). GTK is really
    widely used (e.g. Firefox under Linux or Adobe Acrobat under Linux, GIMP
    on Windows and Linux etc).

    wxWidgets is ported to many OS's and architectures
    (http://www.wxwidgets.org). The IDE Code::Blocks uses it for Windows and
    Linux for example.


    hth,
    Michael
     
    Michael Oswald, Jun 26, 2008
    #2
    1. Advertising

  3. Ioannis Vranos

    Lionel B Guest

    On Thu, 26 Jun 2008 11:18:31 +0300, Ioannis Vranos wrote:

    > I think this is on topic here, because it is about C++ and available
    > portable C++ GUI frameworks.
    >
    >
    > I am looking for a decent portable C++ (meaning C++ API, not C) GUI
    > framework that works both on Linux and Windows, so as to study and learn
    > it. That is, there should be at least one good decent book about it.
    >
    >
    > One option is QT. QT licensing however, is to pay for the QT framework,
    > for running non GPL applications on Windows.
    >
    > Does anyone know any decent (like QT) portable C++ GUI framework for
    > Linux and Windows with good documentation (books) available?


    http://www.wxwidgets.org/
    http://www.fltk.org/
    http://www.gtkmm.org/

    --
    Lionel B
     
    Lionel B, Jun 26, 2008
    #3
  4. Michael Oswald wrote:
    > Ioannis Vranos wrote:
    >> I think this is on topic here, because it is about C++ and available
    >> portable C++ GUI frameworks.
    >>
    >>
    >> I am looking for a decent portable C++ (meaning C++ API, not C) GUI
    >> framework that works both on Linux and Windows, so as to study and learn
    >> it. That is, there should be at least one good decent book about it.
    >>
    >>
    >> One option is QT. QT licensing however, is to pay for the QT framework,
    >> for running non GPL applications on Windows.
    >>
    >> Does anyone know any decent (like QT) portable C++ GUI framework for
    >> Linux and Windows with good documentation (books) available?

    >
    > I think it's still off-topic here, because this has only little to do
    > with the language itself. The new comp.lang.c++.misc group might be
    > better (if it's already available at your news server).



    It isn't, I "refreshed" the newsgroup list in an attempt to find it.
     
    Ioannis Vranos, Jun 26, 2008
    #4
  5. Ioannis Vranos

    James Kanze Guest

    On Jun 26, 10:50 am, Michael Oswald <> wrote:
    > Ioannis Vranos wrote:
    > > I think this is on topic here, because it is about C++ and
    > > available portable C++ GUI frameworks.


    > > I am looking for a decent portable C++ (meaning C++ API, not
    > > C) GUI framework that works both on Linux and Windows, so as
    > > to study and learn it. That is, there should be at least one
    > > good decent book about it.


    > > One option is QT. QT licensing however, is to pay for the QT
    > > framework, for running non GPL applications on Windows.


    > > Does anyone know any decent (like QT) portable C++ GUI
    > > framework for Linux and Windows with good documentation
    > > (books) available?


    > I think it's still off-topic here, because this has only
    > little to do with the language itself.


    I don't see anything that would make it off-topic here, since it
    is about C++ in general, and not specific to a given platform.
    (Once he's chosen a framework, questions about that framework
    are probably best asked in a group or mailing list specialized
    in the framework. If only because that's where he's most likely
    to find the people who know it well.)

    > The new comp.lang.c++.misc group might be better (if it's
    > already available at your news server).


    I've yet to figure out the purpose of that group, since I can't
    see any question appropriate to it which wouldn't be appropriate
    here.

    > Nevertheless: e.g. GTKmm, wxWidgets


    > Though, I think there is no book on GTKmm (the C++
    > libraryhttp://www.gtkmm.org) but only on GTK (the C Library).
    > GTK is really widely used (e.g. Firefox under Linux or Adobe
    > Acrobat under Linux, GIMP on Windows and Linux etc).
    >
    > wxWidgets is ported to many OS's and architectures
    > (http://www.wxwidgets.org). The IDE Code::Blocks uses it for
    > Windows and Linux for example.


    From what little I've seen, wxWidgets seems to be one of the
    more popular frameworks.

    --
    James Kanze (GABI Software) email:
    Conseils en informatique orientée objet/
    Beratung in objektorientierter Datenverarbeitung
    9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
     
    James Kanze, Jun 26, 2008
    #5
  6. James Kanze wrote:
    >> The new comp.lang.c++.misc group might be better (if it's
    >> already available at your news server).

    >
    > I've yet to figure out the purpose of that group, since I can't
    > see any question appropriate to it which wouldn't be appropriate
    > here.


    I don't know. At least it seems, that some things, which would be
    off-topic here would be more on-topic there. Though I could imagine,
    that there would be better support in more specific groups.


    > From what little I've seen, wxWidgets seems to be one of the
    > more popular frameworks.


    Yup. But to me the C++ API of GTKmm is a lot cleaner. For Example,
    wxWidgets uses some sort of macro processing for coupling of widgets
    with callbacks (which somehow reminds me on MFC), whereas GTKmm uses
    signals (like libsigc++ or boost::signal).


    lg,
    Michael
     
    Michael Oswald, Jun 26, 2008
    #6
  7. Ioannis Vranos

    R.A. Nagy Guest

    "Ioannis Vranos" <> wrote in message
    news:g3vjcn$291l$...
    >I think this is on topic here, because it is about C++ and available
    > portable C++ GUI frameworks.
    >
    >
    > I am looking for a decent portable C++ (meaning C++ API, not C) GUI
    > framework that works both on Linux and Windows, so as to study and learn
    > it. That is, there should be at least one good decent book about it.
    >
    >
    > One option is QT. QT licensing however, is to pay for the QT framework,
    > for running non GPL applications on Windows.
    >
    > Does anyone know any decent (like QT) portable C++ GUI framework for
    > Linux and Windows with good documentation (books) available?


    Cross-Platform GUI frameworks are great, but does anyone have as good of a
    UI designer / toolset as C++Builder? (This is not a rhetorical question - I
    would sincerely like to know!) I have been waiting for the Java camp to
    catch up with Borland for decades...

    As for the Borland / CodeGear cross platform C++ offering, the CLX widget
    set seamlessly ports to both Linux and WIN32. (Kylix is the version to look
    for on Linux... I will get my license to the most recent version of the
    product next week - I can let everyone know if the cross platform is as good
    as it was a few years back if there is any interest.)

    R.A. Nagy
    http://www.SaintBook.org
     
    R.A. Nagy, Jun 26, 2008
    #7
  8. Ioannis Vranos

    Jon Guest

    On Jun 26, 3:58 am, Michael Oswald <> wrote:
    > Yup. But to me the C++ API of GTKmm is a lot cleaner. For Example,
    > wxWidgets uses some sort of macro processing for coupling of widgets
    > with callbacks (which somehow reminds me on MFC), whereas GTKmm uses
    > signals (like libsigc++ or boost::signal).



    I have had some experience with wxWidgets. wxWidgets event handler IS
    quite similar to that used by MFC. I believe that they both use
    tables that map event identifiers to member function pointers. The
    macros merely serve to build up static versions of these tables and to
    hide the not insignificant complexity of building them up. wxWidgets
    also implements what are called "pluggable" event handlers which allow
    you to construct the event handler tables for an object at run time
    and is actually quite clean. The strangest thing about the whole
    event handling system is the use of member function pointers which
    bypass the type system when the bound functions happen to be declared
    virtual leading to occasionally unexpected results.

    Regards,

    Jon Trauntvein
     
    Jon, Jun 26, 2008
    #8
  9. Michael Oswald wrote:

    > Yup. But to me the C++ API of GTKmm is a lot cleaner. For Example,
    > wxWidgets uses some sort of macro processing for coupling of widgets
    > with callbacks (which somehow reminds me on MFC), whereas GTKmm uses
    > signals (like libsigc++ or boost::signal).


    Using macros is only one of two methods, the other is connecting event
    handlers programmatically with an event handler (for example, a window).

    GTKmm is, well, GTK. Probably not of much use outside of the X11
    universe, especially if you have users expecting your application to
    look&work like a native one. WxWidgets uses native widgets where applicable.
     
    Matthias Buelow, Jun 26, 2008
    #9
  10. R.A. Nagy wrote:
    > "Ioannis Vranos" <> wrote in message
    > news:g3vjcn$291l$...
    >> I think this is on topic here, because it is about C++ and available
    >> portable C++ GUI frameworks.
    >>
    >>
    >> I am looking for a decent portable C++ (meaning C++ API, not C) GUI
    >> framework that works both on Linux and Windows, so as to study and learn
    >> it. That is, there should be at least one good decent book about it.
    >>
    >>
    >> One option is QT. QT licensing however, is to pay for the QT framework,
    >> for running non GPL applications on Windows.
    >>
    >> Does anyone know any decent (like QT) portable C++ GUI framework for
    >> Linux and Windows with good documentation (books) available?

    >
    > Cross-Platform GUI frameworks are great, but does anyone have as good of a
    > UI designer / toolset as C++Builder? (This is not a rhetorical question - I
    > would sincerely like to know!) I have been waiting for the Java camp to
    > catch up with Borland for decades...



    From a quick look, QT4 on Linux has a decent designer. Not like C++
    Builder on Windows of course.


    > As for the Borland / CodeGear cross platform C++ offering, the CLX widget
    > set seamlessly ports to both Linux and WIN32. (Kylix is the version to look
    > for on Linux... I will get my license to the most recent version of the
    > product next week - I can let everyone know if the cross platform is as good
    > as it was a few years back if there is any interest.)



    Those are old stuff. As in my case, I suggest you check out QT first. It
    is free for open source apps.
     
    Ioannis Vranos, Jun 26, 2008
    #10
  11. Victor Bazarov wrote:
    >
    > While you received
    > some good answers describing the existing *cross-platform* GUI toolkits
    > (there seems to be about four of them), I would strongly recommend
    > asking in the newsgroups for the platforms to which you want to port
    > your application. It is very likely there are only three platforms that
    > you're interested in (Windows, Unix, Linux), maybe four (add MacOS). So,
    > pick one of the toolkits and post your questions about it to the online
    > forum it already undoubtedly has. You would get much more useful
    > information there than here.



    I think you do not mean something like asking about C++ portable GUI
    frameworks on a Windows user forum for example. May you clarify?

    Thanks.
     
    Ioannis Vranos, Jun 26, 2008
    #11
  12. Jon wrote:
    > wxWidgets
    > also implements what are called "pluggable" event handlers which allow
    > you to construct the event handler tables for an object at run time
    > and is actually quite clean.


    Ah, didn't know that. Well, I personally haven't used wxWidgets, just
    had to debug some code with it.

    > The strangest thing about the whole
    > event handling system is the use of member function pointers which
    > bypass the type system when the bound functions happen to be declared
    > virtual leading to occasionally unexpected results.


    Good to know.
    I have to use mostly the commercial ILOG Views which uses the old system
    of pointers to extern C declared functions which then redirect to a
    member call which is not really not better at all.



    lg,
    Michael
     
    Michael Oswald, Jun 26, 2008
    #12
  13. Matthias Buelow wrote:

    > Using macros is only one of two methods, the other is connecting event
    > handlers programmatically with an event handler (for example, a window).


    Yup, as said in another post, I didn't know that.

    > GTKmm is, well, GTK. Probably not of much use outside of the X11
    > universe, especially if you have users expecting your application to
    > look&work like a native one. WxWidgets uses native widgets where applicable.


    That's quite right. I work most of the time under Linux/Unix, so this is
    not an issue for me, but of course for the OP.

    Another point is the GUI builder tools. Compared with QT's designer or
    ILOGs Studio, GTK-GLADE is somehow poor. Don't know, if there is
    something comparable available for wxWidgets, with exception of the
    wxSmith plugin for Code::Blocks.


    lg,
    Michael
     
    Michael Oswald, Jun 26, 2008
    #13
  14. Victor Bazarov wrote:
    > Ioannis Vranos wrote:
    >> Victor Bazarov wrote:
    >>> While you received
    >>> some good answers describing the existing *cross-platform* GUI toolkits
    >>> (there seems to be about four of them), I would strongly recommend
    >>> asking in the newsgroups for the platforms to which you want to port
    >>> your application. It is very likely there are only three platforms that
    >>> you're interested in (Windows, Unix, Linux), maybe four (add MacOS). So,
    >>> pick one of the toolkits and post your questions about it to the online
    >>> forum it already undoubtedly has. You would get much more useful
    >>> information there than here.

    >>
    >>
    >> I think you do not mean something like asking about C++ portable GUI
    >> frameworks on a Windows user forum for example. May you clarify?

    >
    > I can clarify, I think. Ask not in the Windows *user* forum, but ask in
    > the Windows *programming* forum. Or in the Linux *programming* forum.



    Is there any Windows programming forum not dedicated on any specific
    product, like VC++, Borland C++, VC#, etc?
     
    Ioannis Vranos, Jun 26, 2008
    #14
  15. Michael Oswald wrote:

    > Another point is the GUI builder tools. Compared with QT's designer or
    > ILOGs Studio, GTK-GLADE is somehow poor. Don't know, if there is
    > something comparable available for wxWidgets, with exception of the
    > wxSmith plugin for Code::Blocks.


    Dialogblocks, but it's payware (free trial version available, tho). It
    isn't entirely bad.
     
    Matthias Buelow, Jun 26, 2008
    #15
  16. Ioannis Vranos schrieb:
    > Victor Bazarov wrote:
    >> Ioannis Vranos wrote:
    >>> I think you do not mean something like asking about C++ portable GUI
    >>> frameworks on a Windows user forum for example. May you clarify?

    >> I can clarify, I think. Ask not in the Windows *user* forum, but ask in
    >> the Windows *programming* forum. Or in the Linux *programming* forum.

    >
    >
    > Is there any Windows programming forum not dedicated on any specific
    > product, like VC++, Borland C++, VC#, etc?


    comp.os.ms-windows.programmer.win32
    or another group in
    comp.os.ms-windows.programmer.*

    --
    Thomas
     
    Thomas J. Gritzan, Jun 26, 2008
    #16
  17. Thomas J. Gritzan wrote:
    > Ioannis Vranos schrieb:
    >> Victor Bazarov wrote:
    >>> Ioannis Vranos wrote:
    >>>> I think you do not mean something like asking about C++ portable GUI
    >>>> frameworks on a Windows user forum for example. May you clarify?
    >>> I can clarify, I think. Ask not in the Windows *user* forum, but ask in
    >>> the Windows *programming* forum. Or in the Linux *programming* forum.

    >>
    >>
    >> Is there any Windows programming forum not dedicated on any specific
    >> product, like VC++, Borland C++, VC#, etc?

    >
    > comp.os.ms-windows.programmer.win32



    I suppose this is for the C Win32 API.


    > or another group in
    > comp.os.ms-windows.programmer.*



    comp.os.ms-windows.programmer looks suitable enough. But it appears
    abandoned.
     
    Ioannis Vranos, Jun 26, 2008
    #17
  18. Ioannis Vranos wrote:
    > Thomas J. Gritzan wrote:
    >> Ioannis Vranos schrieb:
    >>> Victor Bazarov wrote:
    >>>> Ioannis Vranos wrote:
    >>>>> I think you do not mean something like asking about C++ portable GUI
    >>>>> frameworks on a Windows user forum for example. May you clarify?
    >>>> I can clarify, I think. Ask not in the Windows *user* forum, but ask in
    >>>> the Windows *programming* forum. Or in the Linux *programming* forum.
    >>>
    >>> Is there any Windows programming forum not dedicated on any specific
    >>> product, like VC++, Borland C++, VC#, etc?

    >> comp.os.ms-windows.programmer.win32

    >
    >
    > I suppose this is for the C Win32 API.
    >
    >
    >> or another group in
    >> comp.os.ms-windows.programmer.*

    >
    >
    > comp.os.ms-windows.programmer looks suitable enough. But it appears
    > abandoned.



    I posted to some Usenet programming groups.
     
    Ioannis Vranos, Jun 26, 2008
    #18
  19. Ioannis Vranos

    Noah Roberts Guest

    Ioannis Vranos wrote:
    > I think this is on topic here, because it is about C++ and available
    > portable C++ GUI frameworks.
    >
    >
    > I am looking for a decent portable C++ (meaning C++ API, not C) GUI
    > framework that works both on Linux and Windows, so as to study and learn
    > it. That is, there should be at least one good decent book about it.
    >
    >
    > One option is QT. QT licensing however, is to pay for the QT framework,
    > for running non GPL applications on Windows.
    >
    > Does anyone know any decent (like QT) portable C++ GUI framework for
    > Linux and Windows with good documentation (books) available?


    wxWidgets
     
    Noah Roberts, Jun 26, 2008
    #19
  20. Ioannis Vranos

    R.A. Nagy Guest

    >
    > From a quick look, QT4 on Linux has a decent designer. Not like C++
    > Builder on Windows of course.
    >


    I've used the QT designer. Worked okay, but I agree: It was stone tools and
    axes when compared to even C++Builder 5 / 6. (Still looking forward to
    testing the new CodeGear stuff - The free copy of Studio 2006 still sits on
    my shelf in shrink wrap - just do not have the time to play with the new
    toys... 'specially when they fail to reload their old project formats -
    (gotta love outsourcing to newbies - but you go you exeCUTive
    quality-cutters, go! :))

    But enough of my carping -

    I liked the Qt signal / slot paradigm, but when I went to QT4 the need to
    #ifdef everything to get "old code" to work left me cold. Better an new
    namespace than breaking those public "contracts" ... !

    Oh well, I hope Nokia will have better luck keeping the Qt Namespace from
    doing that EVER again... IMO that was a sure sign of poor educational
    choices!

    >< (fingers crossed)


    Of course NetBeans has a decent GUI designer for Java. Mayhaps they will
    extend it as their newfound support for C++ evolves? Even a JNI scaffolding
    to support AWT under C++ would be welcome: An instant cross-platform
    minimalist GUI for C++!

    (Are you listening, Sun??)

    Same thing for DevC++; The add-on library support is impressive, but a cool
    cross platform UI designer would be hot++.


    R.A. Nagy
    http://www.Soft9000.com
     
    R.A. Nagy, Jun 26, 2008
    #20
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Eli Bendersky
    Replies:
    1
    Views:
    1,170
    Mike Treseler
    Mar 1, 2006
  2. Replies:
    7
    Views:
    921
  3. balzer
    Replies:
    1
    Views:
    856
    Sridhar
    May 8, 2010
  4. Timothy Madden
    Replies:
    10
    Views:
    458
    Miles Bader
    Jul 22, 2010
  5. Öö Tiib
    Replies:
    1
    Views:
    314
    Dilip
    Jul 23, 2010
Loading...

Share This Page