Thread: GUI PRogramming?

  1. #1
    Registered User
    Join Date
    Mar 2005
    Location
    Freeport, IL
    Posts
    32

    GUI PRogramming?

    There is MFC, win32 API, GTK, wxWidgets.

    Ok any idea where is the best place to start to learn how to program GUI's for the programs I write?


    Thanks.

    Also I'm a novice programmer that would like to learn how to make GUI's and really looking for a place to start from, tutorial any advice.
    Last edited by Djanvk; 08-22-2008 at 12:27 AM.

  2. #2
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Part of the answer to your question is the answer to "What type of applications are you planning to make", and are they for a particular platform. wxWidgets and GTK are portable, so if you ever think you would like to run the same app on both Windows and Linux (for example), then that limits your choices.

    For Windows only, I've used MFC, and whilst it's not entirely easy, it works well for what I've been doing.

    Others may disagree with what I say.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  3. #3
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Keep in mind that MFC isn't free, while some others are.
    And then there's the argument if you want to use raw API to create GUIs or a framework. I recommend the latter, since win32 api is a mess and a pain to work with.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  4. #4
    Registered User
    Join Date
    Mar 2005
    Location
    Freeport, IL
    Posts
    32
    So I have downloaded wxWidgets and will give that a try, seems that wxSmith on Code::Blocks will work well.

    if not I will give GTK a try.

    Any pros/cons on either of them?

  5. #5
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Use gtkmm if you want a C++ wrapper for GTK.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #6
    C / C++
    Join Date
    Jan 2006
    Location
    The Netherlands
    Posts
    312
    The Qt Framework is a nice place to start.
    It's Object Orientated and is platform independent too.
    Operating Systems:
    - Ubuntu 9.04
    - XP

    Compiler: gcc

  7. #7
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by Ideswa View Post
    The Qt Framework is a nice place to start.
    It's Object Orientated and is platform independent too.
    ...but for a beginner, Qt can be too complicated. I looked at it for about an hour and decided that it wasn't for me. Perhaps I didn't give it enough of a chance, but I definitely think there's just too much going on there for a beginner like the OP, not to mention it costs money if you're using it for more than just personal or educational purposes. I personally recommend wxWidgets. there is a version of Dev-C++ with a wxWidgets GUI designer built in, and there is lots of very good documentation out there for it, including a couple of really good books. I have also used GTK+, and it works well, but it's not object oriented, and can also be overly complicated to do certain things.

  8. #8
    Registered User
    Join Date
    Jul 2008
    Posts
    67
    Quote Originally Posted by Elkvis View Post
    ... not to mention it costs money if you're using it for more than just personal or educational purposes. ...
    It's (QT) also for free if you're publishing your application under GNU License, if I remember right.

    Please correct me if I'm wrong.


    Greetz
    Greenhorn

  9. #9
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Qt is available under the GPL for Linux, and for Windows since Qt 4.
    The GPL requires that the stuff you create with Qt is also under the GPL.
    If you don't want to put your code under the GPL, you either need a commercial license, or you need a different library.

    GTK is under the LGPL. You can link dynamically against it without license restrictions on your program. If you link statically, there are some things to consider.

    wxWidgets is under the wxWidgets license, which is much like the LGPL but with an exception that makes static linkage easier.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  10. #10
    Registered User
    Join Date
    Apr 2008
    Posts
    890
    Quote Originally Posted by Djanvk View Post

    Any pros/cons on either of them?
    I think you've escaped the biggest con by eschewing MFC's poor design and platform lock-in.

  11. #11
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    I have taken a shining to wxWidgets only because of the fact that I use so many operating systems for developmental purposes and hate rewriting stuff. Though GTK is pretty nice. I have had more issues with GTK than wxWidgets, however. I am sure someone will jump in to add their two cents and try to convince me that I am inept for having issues with GTK, but if I had to choose, I would lean more towards wxWidgets.

  12. #12
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by Elysia View Post
    Keep in mind that MFC isn't free, while some others are.
    And then there's the argument if you want to use raw API to create GUIs or a framework. I recommend the latter, since win32 api is a mess and a pain to work with.
    MFC is free

    and Win32 API is much easier, although without as many prepackaged solutions. For strictly GUI purposes MFC is probably a better route to go. I dont use it, btu I have other requirements that MFC etiher cannot or has difficulty meeting.

  13. #13
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Quote Originally Posted by abachler View Post
    I don't think Express comes with MFC.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  14. #14
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    it does, at least the new projects are set up as MFC projects, and you haev th eoption of selecting MFC ro non-MFC, and they default to MFC, so I am assuming its included.


    edit -

    Actually just double checked and you may be right, I might have been confusing it with my full version of 2005.
    Last edited by abachler; 08-22-2008 at 12:21 PM.

  15. #15
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    I have a lot of issues with MFC. It adds bloat and frustration to the Win32 API. To be honest, I would rather just use the Win32 API over MFC anytime. But that is just an opinion... One that is better than most peoples', but an opinion no less.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Convert Windows GUI to Linux GUI
    By BobS0327 in forum Linux Programming
    Replies: 21
    Last Post: 11-27-2005, 04:39 AM
  2. .NET And GUI Programming :: C++
    By kuphryn in forum C++ Programming
    Replies: 4
    Last Post: 01-27-2002, 04:22 PM
  3. GUI Programming :: C++ Exclusive
    By kuphryn in forum C++ Programming
    Replies: 5
    Last Post: 01-25-2002, 03:22 PM
  4. C++: Reference Book, GUI, Networking & Beyond
    By kuphryn in forum C++ Programming
    Replies: 4
    Last Post: 11-10-2001, 08:03 PM
  5. GUI (Graphical User Interface) Help Needed
    By Unregistered in forum C++ Programming
    Replies: 1
    Last Post: 10-11-2001, 10:35 AM

Tags for this Thread