Thread: QT5 for GUI programming or?

  1. #1
    Registered User chrono-graff's Avatar
    Join Date
    Jan 2015
    Location
    Belfast
    Posts
    24

    QT5 for GUI programming or?

    Out of curiosity, for GUI programming what would be more favorable for the more experienced desktop developers on the forum, and if QT5 is not your prefered choice, would it be ok to give me a quick explanation as to why?

    Many thanks in advance.

  2. #2
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    I currently use Qt (which is very poor in my opinion) because I don't know of any better frameworks at the moment.
    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.

  3. #3
    Registered User
    Join Date
    Dec 2013
    Posts
    241
    I recently got to know JUCE C++ platform.
    it's modern , intuitive and crossed-platform , meaning you can compile you program to windows, linux , os-X and even android and iOS.
    I'd go with that.

  4. #4
    Registered User chrono-graff's Avatar
    Join Date
    Jan 2015
    Location
    Belfast
    Posts
    24
    Taking another good look at it. Thanks, I did see it as a choice. Is it not more geared towards Audio plugin development?

    Quote Originally Posted by Dave11 View Post
    I recently got to know JUCE C++ platform.
    it's modern , intuitive and crossed-platform , meaning you can compile you program to windows, linux , os-X and even android and iOS.
    I'd go with that.

  5. #5
    Registered User
    Join Date
    Dec 2013
    Posts
    241
    well, JUCE is A platform , not only GUI platform like QT.
    it definitely has extra stuff related to audio , but it has everything you need for GUI program : windows, button , listboxes etc.
    you also have nice api for 2D rendering . take a look at their examples.
    Last edited by Dave11; 01-11-2015 at 05:51 AM.

  6. #6
    Registered User chrono-graff's Avatar
    Join Date
    Jan 2015
    Location
    Belfast
    Posts
    24
    having a good look, it's clean. I am also looking at Ultimate++ but it doesn't use the STL?? Also SDL2 looks like an option...

    Ah.... *scratching my head*

    QT5 reminds me of a semi pair of good running shoes.

    Quote Originally Posted by Dave11 View Post
    well, JUCE is A platform , not only GUI platform like QT.
    it definitely has extra stuff related to audio , but it has everything you need for GUI program : windows, button , listboxes etc.
    you also have nice api for 2D rendering . take a look at their examples.

  7. #7
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    In my opinion Qt is very good, provided you aren't afraid to switch to the Qt framework completly (ie using QString instead of std::string, QFile instead of std::fstream etc.). I haven't dabbled much with QML the but the classical widget style of doing things is very good if you ask me.
    STL Util a small headers-only library with various utility functions. Mainly for fun but feedback is welcome.

  8. #8
    Registered User chrono-graff's Avatar
    Join Date
    Jan 2015
    Location
    Belfast
    Posts
    24
    Shakti, it looks like I will be using QT5.

    JUCE really is geard towards VST and I really do like the SIGNAL/SLOT feature of QT including we can use blocks inside the SLOT!

    Yes, I'm going for QT5.

  9. #9
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Dave11 View Post
    well, JUCE is A platform , not only GUI platform like QT.
    Qt is not just a GUI platform. It's a jack-of-all-trades too.

    EDIT: As far as JUCE goes, it's licensed under GPL or AGPL which makes it useless IMO.
    Last edited by Elysia; 01-11-2015 at 08:18 AM.
    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
    Registered User
    Join Date
    Dec 2013
    Posts
    241
    Quote Originally Posted by Elysia View Post

    EDIT: As far as JUCE goes, it's licensed under GPL or AGPL which makes it useless IMO.
    Why's that? isn't being a free software a good thing?

  11. #11
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    There is a difference between being able to use a software freely and having to distribute the source of your own programs that use said software. I'm fine with contributing back any changes to free software I've made, but now distributing the source of my own programs that uses said software. That's why I say GPL and AGPL is useless.
    On a side note, LPGL works, but it's annoying as heck since it usually means you have to dynamically link against said software unless you want to distribute your source. That means if you just add the source to your project or statically link against it you have to distribute your source.
    I'm no expert in these licenses (who the heck has the desire and time to read through all that legalese!?!), but that's what I've gathered from reading on the web.
    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.

  12. #12
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Elysia View Post
    There is a difference between being able to use a software freely and having to distribute the source of your own programs that use said software. I'm fine with contributing back any changes to free software I've made, but now distributing the source of my own programs that uses said software. That's why I say GPL and AGPL is useless.
    On a side note, LPGL works, but it's annoying as heck since it usually means you have to dynamically link against said software unless you want to distribute your source. That means if you just add the source to your project or statically link against it you have to distribute your source.
    I'm no expert in these licenses (who the heck has the desire and time to read through all that legalese!?!), but that's what I've gathered from reading on the web.
    now = not.
    LPGL = LGPL.
    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.

  13. #13
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    Regarding static linking I think (insert normal "not a laywer clause" here, but from what i read on the web) it is enough for you to allow users to relink against another library. So if I have understood everything right you only need to provide compiled (but not linked) code.
    STL Util a small headers-only library with various utility functions. Mainly for fun but feedback is welcome.

  14. #14
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    As far as I know:
    - If you use dynamic linking, then you are required to allow people to use your application with another version of the LGPL'd library. At least wikipedia says so, but since I haven't read the license fully, I can't confirm this. Regardless, this poses mostly no problem. Users can simply recompile the library and swap out the .dll or .so file.
    - If you use static linking, you must again allow for people to relink against against other versions of the library. This typically means you have to release the source or some compiled versions which users can re-link. This is a fuzzy argument, though, since derivative works fall under the license under section 6. Some say it's allowed; others say it isn't (source).

    Quote from source:
    Some people will argue that it is possible to do static linking of LGPL’d code and still be able to abide by the legal terms by providing the necessary binaries to be re-linked. This has no legal precedent and is still a very fuzzy argument. I would rather not bet my company on something so shaky as this.
    So yeah, I'd rather not do that if it's this fuzzy. I guess simply trying to figure out the terms in the license under section 6 might work though.
    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.

  15. #15
    Registered User
    Join Date
    Nov 2012
    Posts
    1,393
    Quote Originally Posted by Elysia View Post
    If you use static linking, you must again allow for people to relink against against other versions of the library. This typically means you have to release the source or some compiled versions which users can re-link. This is a fuzzy argument, though, since derivative works fall under the license under section 6. Some say it's allowed; others say it isn't
    I find it amazing that so many people, when wondering how to comply with the LGPL for their combined work, seem to rely on word of mouth rather on the license text itself. This is from 4.d. of the version 3 text on https://www.gnu.org/licenses/lgpl-3.0.txt

    d) Do one of the following:

    0) Convey the Minimal Corresponding Source under the terms of this
    License, and the Corresponding Application Code in a form
    suitable for, and under terms that permit, the user to
    recombine or relink the Application with a modified version of
    the Linked Version to produce a modified Combined Work
    , in the
    manner specified by section 6 of the GNU GPL for conveying
    Corresponding Source.

    1) Use a suitable shared library mechanism for linking with the
    Library. A suitable mechanism is one that (a) uses at run time
    a copy of the Library already present on the user's computer
    system, and (b) will operate properly with a modified version
    of the Library that is interface-compatible with the Linked
    Version.
    Obviously not all systems have a suitable shared library mechanism, so systems like iOS/Apple app store may need to find another way to comply. In any case if you are staking your business on such software you should probably have a lawyer on your payroll to minimize risk of liability. But this is true no matter what license the software is under.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 2
    Last Post: 09-11-2012, 01:03 AM
  2. Replies: 4
    Last Post: 12-11-2011, 04:25 PM
  3. small programming job VCPP / Object Oriented Programming
    By calgonite in forum Projects and Job Recruitment
    Replies: 10
    Last Post: 01-04-2006, 11:48 PM
  4. Total newb to programming here... Question about the many programming languages. Ty!
    By tsubotakid1 in forum A Brief History of Cprogramming.com
    Replies: 11
    Last Post: 10-05-2003, 10:32 AM

Tags for this Thread