Thread: Gui Programming

  1. #1
    Registered User
    Join Date
    Sep 2006
    Location
    vancouver wa
    Posts
    221

    Gui Programming

    I just finished a couple of C++ classes and i am off for summer!
    We just finished up with link lists.. the next class i will take will be data structures.
    we learned about stacks and Queues but didnt get to do a lab with it.
    I am interested in learning GUI programming, and i am leaning towards wxWidgets.
    my question is, at my skill level is this something i will be able to do? or maybe studying ahead might be a better option?

  2. #2
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,210
    If you're well versed with OOP and pointers, and if you are able to read through documentation and figure stuff out for yourself, you could probably handle some basic wxWidgets stuff.

    I generally stick to C over C++ in many cases, but I do like wxWidgets, except for their horrible abusage of macros to invent something like dynamic arrays. Bleh.

  3. #3
    Registered User
    Join Date
    Sep 2006
    Location
    vancouver wa
    Posts
    221
    Some basic stuff sounds good to me!

  4. #4
    Registered User
    Join Date
    Apr 2006
    Posts
    6
    I myself looked into wxWidgets and it's great for beginning GUI programming. You're not going to be tethered to a certain platform, and as well it's got plenty of features to offer you. It's also got a very consistent look for it's applications when switching platforms. I looked at the code once or twice, but I felt it involved a bit too much to get a simple application going.

    I'm very partial to the Fast Light Tool Kit. The documentation is really spiffy and I was running a basic application in no time. It didn't involve a lot of learning, as it was easy to grasp right away. It's cross platform as well. I think it has a better level of simplicity than wxWidgets, a lot less cruft in the code as is my opinion, and it's got enough power in it to provide you with pretty much all that you could ask for in a toolkit.

    Another option would be to look into something like the Gimp Tool Kit. I've looked at the source code of some programs that use it, and it seems to me it'll test you more for knowing the library than all of the nitty gritty details of C++, this might or might not be of your preference in a GUI. It's cross platform too, but if memory serves me correctly, you'll have to make for some arrangements on Windows systems, though it's been a while since I checked.

    Qt is a very popular toolkit too, can't say much at all, but your apps will look nice when they're done.

    Check here for some more options and perhaps a better explanation of each as opposed to my descriptions.

    List of widget toolkits - Wikipedia, the free encyclopedia

  5. #5
    Registered User
    Join Date
    Sep 2006
    Location
    vancouver wa
    Posts
    221
    Yeah, i am open to anything! I also plan on looking into QT
    I will also look into Fast Light Tool Kit.
    Thanks

  6. #6
    Registered User
    Join Date
    Sep 2006
    Location
    vancouver wa
    Posts
    221
    anyone like QT creator?

  7. #7
    Registered User valaris's Avatar
    Join Date
    Jun 2008
    Location
    RING 0
    Posts
    507
    Learn MFC. Should give you an easy framework to play around with to reinforce some of what you learned in school. On top of that you will be using windows, so learn how it works under the hood as well and it will serve you well into the future.

  8. #8
    Registered User
    Join Date
    Sep 2006
    Location
    vancouver wa
    Posts
    221
    I was wondering about MFC! everytime i have heard something about it i hear negative things.

  9. #9
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    MFC isn't free, though. But if you're a student, you can get it with VS Pro from DreamSpark.
    MFC is Windows™ ONLY, however.
    But it does simplify GUI a lot.
    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.

  10. #10
    30 Helens Agree neandrake's Avatar
    Join Date
    Jan 2002
    Posts
    640
    Are you already familiar with the concept of event-driven programming? If you're just finishing up a basic course in C/C++ and want to jump into GUI, it's probably a good idea to become familiar with how UI frameworks function in general.
    Environment: OS X, GCC / G++
    Codes: Java, C#, C/C++
    AOL IM: neandrake, Email: neandrake (at) gmail (dot) com

  11. #11
    Registered User
    Join Date
    May 2009
    Posts
    37
    Quote Originally Posted by neandrake View Post
    Are you already familiar with the concept of event-driven programming? If you're just finishing up a basic course in C/C++ and want to jump into GUI, it's probably a good idea to become familiar with how UI frameworks function in general.
    Totally agree with learning more about programming before getting into GUI programming. I mean, if you are still studying basic data structures, then I'm quite sure you are not that ready and comfortable with programming a >1000 lines program yet... And I suggest you start with learning GUI programming with Win32 API first, when you are ready, since Win32 API is compatible with C++ and C, both.

    Nice tutorial I followed for my first GUI program:
    theForger's Win32 API Tutorial

    I actually did my first GUI program quite recently though :P

    Remarks: Win32 API is also only for Windows... I did most of my programming by looking at the documentations:
    Win32 and COM Development

  12. #12
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    Location
    Canada
    Posts
    8,057
    Win32 API is compatible with C++ and C, both.
    Well, so is GTK, I'd imagine.

    Personally I wouldn't recommend learning a platform-specific toolkit to begin with. Partially that's because I use Linux a lot, and know how annoying it is to have Windows programs that won't run on Linux (except under Wine :P) and vise versa.

    But I also say that because when I first learned graphics programming, it was ancient DOS mode 13h graphics. That was a mistake since those sorts of programs only run under Windows (and only before Windows XP even). I've since learned the SDL, and I wish I'd learned it to begin with. It's not a completely fair comparison, since the SDL is much more capable than BIOS interrupts while I think most of the GUI toolkits mentioned are reasonable similar in capabilities, but I'd still recommend a platform-independent library over something like MFC.

    Of course, that's just for learning purposes. If you think you'll need MFC for a job or something, then learn it. Otherwise, there's plenty of time in the future.

    P.S. @Elysia: when did you start putting the TM after Windows?
    dwk

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell


    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ: cpwiki.sf.net

    My website: http://dwks.theprogrammingsite.com/
    Projects: codeform, xuni, atlantis, nort, etc.

  13. #13
    Registered User
    Join Date
    Sep 2006
    Location
    vancouver wa
    Posts
    221
    Yeah, i will be taking more c++ classes in the fall. For right now, i just need something to do this summer. I am looking into wxwidgets, if i can get it to work!. Oh, and GTK looks really nice..

    Theres too many choices. I dont know what to pick =(
    wxwidgets, GTK+, QT, MFC, Win32 API, gtkmm.
    I am sure i am missing some.
    Last edited by mrsirpoopsalot; 06-12-2009 at 06:50 PM.

  14. #14
    Registered User
    Join Date
    Sep 2006
    Location
    vancouver wa
    Posts
    221
    Ok, i have been using QT for the past couple of hours and i love it!
    anyne else like it?

  15. #15
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by jasperleeabc View Post
    Totally agree with learning more about programming before getting into GUI programming. I mean, if you are still studying basic data structures, then I'm quite sure you are not that ready and comfortable with programming a >1000 lines program yet... And I suggest you start with learning GUI programming with Win32 API first, when you are ready, since Win32 API is compatible with C++ and C, both.
    I don't necessarily agree. Win32 API is C, but since C++ is backwards compatible, it does work with C++ too. However, note the "C" part. It was written for C in mind, so it basically reaches out to C programmers. It is natural to them.
    For C++ programmers, however, this is not so, because C-style programming isn't considered C++-style programming. C++ uses other paradigms and programming methods, so a C API may not suit them very well.
    Thus, I would recommend a C++ GUI Library before the Win32 API, because
    1) There is no need to use a C API when you are doing C++.
    2) Win32 is complex and low-level, suitable for C, but C++ can do better.

    Quote Originally Posted by dwks View Post
    P.S. @Elysia: when did you start putting the TM after Windows?
    Right now
    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.

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