Thread: GUI lib, toolchain, etc for my projects

  1. #1
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246

    GUI lib, toolchain, etc for my projects

    If you want a a GUI program on for Windows, first you need to choose which libraries, technologies, framework, GUI library, etc to use.

    I can't make a decision about which to use.

    We have MFC, Qt and a few other libraries. MFC is not really C++ and is not good. Qt uses MOCs which I don't like. I don't like DotNet. I googled a little bit and found Smartwin++ interesting but its last release was in 2007. There was Ultimate++ but I don't have exprience in that. I googled a little but couldn't find a good comparison between them.

    Does wxWidget provide a portable database interface as well?

    What do you use? Does anyone know a good combination?
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  2. #2
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Qt does not require you to use the MOC. you can write pure (mostly) C++ code, and it will work just fine. wxWidgets does not use up to date C++ programming concepts, so I would not recommend using it. fltk is another option you might consider.

  3. #3
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    FLTK is restricted to GUI so I will need another lib for database.

    I myself couldn't find anything better than Qt yet. I also have a little exprience in it. SourceForge.net: LANchat - Project Web Hosting - Open Source Software and Quazaa | The multi-network cross platform file sharing software..

    I also found Win32++ but haven't tried it yet.
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  4. #4
    the hat of redundancy hat nvoigt's Avatar
    Join Date
    Aug 2001
    Location
    Hannover, Germany
    Posts
    3,130
    If you consider switching technologies, then C# WPF is one of the most powerful (in the sense of doing a ton with very little work required, not in the C++ sense) GUI frameworks I know.
    hth
    -nv

    She was so Blonde, she spent 20 minutes looking at the orange juice can because it said "Concentrate."

    When in doubt, read the FAQ.
    Then ask a smart question.

  5. #5
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    > FLTK is restricted to GUI so I will need another lib for database.
    So what's your point?

    If you're looking for a combined "gui-and-database" library, then you may find it is compromised on both fronts. Unable to decide what it is, it makes a bad job of both things.

    If you want a database, try SQLite Home Page
    If you want a GUI. pick something already mentioned.

    At some point, you're going to run into a situation where there isn't a "library for everything" you want to do, and you have to start trusting yourself to look around for suitable components and integrate them.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  6. #6
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    Quote Originally Posted by nvoigt View Post
    If you consider switching technologies, then C# WPF is one of the most powerful (in the sense of doing a ton with very little work required, not in the C++ sense) GUI frameworks I know.
    What is the benefit of WPF over .Net controls.
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  7. #7
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    Quote Originally Posted by Salem View Post
    > FLTK is restricted to GUI so I will need another lib for database.
    So what's your point?

    If you're looking for a combined "gui-and-database" library, then you may find it is compromised on both fronts. Unable to decide what it is, it makes a bad job of both things.

    If you want a database, try SQLite Home Page
    If you want a GUI. pick something already mentioned.

    At some point, you're going to run into a situation where there isn't a "library for everything" you want to do, and you have to start trusting yourself to look around for suitable components and integrate them.
    It was better if it was one lib for everything. But I have no problem with combining libs if they are good quality and compatible. I'm an idealist generally but this time I need a practical solution as I want to sell my software.
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  8. #8
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by siavoshkc View Post
    What is the benefit of WPF over .Net controls.
    binding data to controls is the biggest advantage. plus you get the data access capabilities of the .Net framework, which integrate very well with WPF.

  9. #9
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    > But I have no problem with combining libs if they are good quality and compatible
    The advantage of using libraries with a clearly defined purpose is that you can re-use knowledge gained on your next project.

    What are you going to do when your next project is say "gui+networking". Throw away all the time investment in learning about some mythical combined gui+database library and then spend time learning all about some mythical gui+networking library?

    If you're already happy with a gui library (which is JUST a gui library), then you only have to learn about a network library. You're already half-way up the learning curve for your new project before you've even begun.

    > I need a practical solution as I want to sell my software.
    Then you need to read the license terms of your libraries carefully.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  10. #10
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    Quote Originally Posted by Elkvis View Post
    binding data to controls is the biggest advantage. plus you get the data access capabilities of the .Net framework, which integrate very well with WPF.
    You can also bind data to .Net controls.

    Quote Originally Posted by Salem View Post
    > But I have no problem with combining libs if they are good quality and compatible
    The advantage of using libraries with a clearly defined purpose is that you can re-use knowledge gained on your next project.

    What are you going to do when your next project is say "gui+networking". Throw away all the time investment in learning about some mythical combined gui+database library and then spend time learning all about some mythical gui+networking library?

    If you're already happy with a gui library (which is JUST a gui library), then you only have to learn about a network library. You're already half-way up the learning curve for your new project before you've even begun.

    > I need a practical solution as I want to sell my software.
    Then you need to read the license terms of your libraries carefully.
    So you say we should not use Qt or MFC?
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  11. #11
    Registered User rogster001's Avatar
    Join Date
    Aug 2006
    Location
    Liverpool UK
    Posts
    1,472
    I use FLTK for GUI, if i wanted something for databse then i would happily use an additional library - If as Salem says networking or something else is thrown in the mix then what? You are getting on for a total runtime dependancy package if you want to cover all, so may as well be using java or c# or something. For what its worth one of the reasons i like FLTK so much is it is statically linked - you just use the elements required and its build if setup correctly links automatically to the required resource at your program build time - your binaries are light and portable.

    The license allows use of the library for commercial purposes, there are just a few simple caveats regarding acknowledgement of inclusion - I think that is pretty much par for the course under say gnu?
    Last edited by rogster001; 11-02-2012 at 02:02 PM.
    Thought for the day:
    "Are you sure your sanity chip is fully screwed in sir?" (Kryten)
    FLTK: "The most fun you can have with your clothes on."

    Stroustrup:
    "If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it'"

  12. #12
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by siavoshkc View Post
    You can also bind data to .Net controls.
    WPF data binding is a lot more developed, and makes a lot more sense. in WPF, a listview or combobox is bound to a collection of real objects, not an array of System.object. the data bindings are two-way. bind a checkbox to a bool property, and the bool's value changes when you check or uncheck the box. directly manipulate the property, and the box will check or uncheck.

    So you say we should not use Qt or MFC?
    if not WPF, I'd strongly recommend Qt. MFC locks you into one operating system on one platform. Qt works anywhere you can find GUI environment.

  13. #13
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    Thank you. I will continue studying frameworks/GUIs and find a good combination. Have anybody ever used Ultimate++, eGUI or Win32++?
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  14. #14
    Registered User rogster001's Avatar
    Join Date
    Aug 2006
    Location
    Liverpool UK
    Posts
    1,472
    I have never heard of them except maybe win32++ which brings vague memories of disappointment - You have had some excellent suggestions for mainstream, well supported utilities, i suggest you take the advice, knuckle down and start learning
    Thought for the day:
    "Are you sure your sanity chip is fully screwed in sir?" (Kryten)
    FLTK: "The most fun you can have with your clothes on."

    Stroustrup:
    "If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it'"

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. C Projects
    By mohit varma in forum C Programming
    Replies: 0
    Last Post: 03-02-2011, 02:07 PM
  2. Replies: 1
    Last Post: 01-22-2009, 02:52 PM
  3. Replies: 11
    Last Post: 05-25-2007, 04:39 PM
  4. Old VC++ projects
    By geek@02 in forum Windows Programming
    Replies: 1
    Last Post: 03-21-2005, 07:04 AM
  5. Toolchain Doubt
    By vsriharsha in forum Tech Board
    Replies: 4
    Last Post: 07-30-2004, 01:40 PM