worth the time investment to learn Qt (c++)? [closed] - c++

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 11 months ago.
Improve this question
i already know java, c++ (no one framework for GUI development) and little of c# (winforms for gui development) but i'm thinking to ivest my free time to learn Qt, what do you recommend me? has Qt a good future or not?

I think it's worth it. We used Qt recently because it allowed us to make a cross-platform GUI that looks good on Linux, Windows, and Mac. It's kind of a tough learning curve to figure out how to use the QLayouts correctly, but after you do your GUI will look great on many different platforms, with many different font sizes, and with many different window sizes. I like how Qt allows you to make applications that use the native widgets with the native look and feel. Applications built with Qt will look like they belong no matter what platform they are running on. Another great feature is that the Qt framework is small enough that you can just include the Qt DLL files in your application's binary directory, so it simplifies the installation process for your application and makes life easier for everyone (no VMs to install, no 600 MB downloads).
I'd recommend using Qt directly from C++. There are wrappers for it on many languages, but it's hard to believe those wrappers will support every feature and allow you to subclass Qt classes.
You can kind of make cross-platform GUIs with C# WinForms, using Mono on Linux and Mac. But Mono's WinForms is not maintained, the results look really bad, and there are some crippling bugs on macOS.

I can't say enough good things about Qt. Their documentation is bar-none. I've never seen more examples and better documentation that with Qt. It's the standard by which I judge all other frameworks. What's more, the Cross-Platform capabilities are amazing. You get native looking apps, all for free. I'd say go for it.

Related

Is it possible to create GUI applications with c++ standard native library? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I am interested in GUI application development, and when i search for it i found the only way ahead of me is to master in frameworks like qt, wxWidgets, gtk+, win32 etc. Win32 is ofcourse a native way, but it only run on win pc.
Why c++ standard native libraries does not provide APIs for GUI development?, just like like java.
It has every functions of its own to make a fully featured GUI app..?
Most platforms such as Windows, Mac OSX, Unix, Unix derivatives like Linux, and so forth, provide libraries of callable routines or objects which support GUI development on those platforms.
It might be nice to have a universal GUI library, but that would likely limit its features and aesthetics to a particular format and architecture which would necessarily have to exclude some of the most distinctive and useful features of the platform on which such applications would be used.
So one needs to select a platform for development and anticipate parallel development on alternative platforms. Sometimes aesthetics drives these decisions and sometimes capabilities and performance drives them.
Welcome to an endless adventure, good friend.
No.
GUI require graphics. C++ does not require a graphical environment. Unless you implement an OS yourself with graphics drivers etc in C++ you will not be able to do that.
And if you do, you will have re-invented the wheel (Win32).
Edit: As for java it is practically an OS.

C++ stylish GUI [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 9 years ago.
Improve this question
I am trying to show future employers that I can do something with C++ (ironically I can't because I'm here). I am trying to write a program that for starters tracks my purchases and stocks and bills and categories and possibly does graphs. I want to do something related to my life that I may actually use.
I did a little investigation: Wt, cppCMS but am still confused
I want the program to look like Apple windows (in general) as opposed to the command window (black with boxy white letters)
Any help? What should I use?
If you're ambitious, and really want it to look like Apple GUI (because it's really important), just go ahead and download Xcode, learn Mac programming from the online help at the Apple sites, and write a little app. Will take a bit of time, though. You'll have to use Objective-C and Objective-C++, though, and show that your C++ skills can be integrated with your Objective-C skills, to use the newer interfaces. Or, you could use the older "Carbon" interfaces and stay in C++.
Otherwise, I'd use some popular GUI framework, such as QT or GTK+, then you can stay in C++. You'll also have a good template app to start with.
QT has a link to an Apple look-and-feel doc:
http://qt-project.org/doc/qt-5.0/qtdoc/qtmac-as-native.html
You can use GTK+ and gain some Mac look-and-feel by linking with the GTK Quartz graphics libraries, which provide native graphics. A link to starting info is here: http://www.gtk.org/download/macos.php

How to program frames in C++ [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
OK, C++ noob here asking a very nooby question (sorry) but whenever I write my basic programs (helloworld etc.) they always appear in a command prompt window. I want to make proper windows like in Word and other programs. I know it is possible to do this because of all the programs I use every day. But how do I do this in C++? For all the Java veterans out there, I want it to be like a JFrame, but the C++ equivalent.
C++ doesn't have a UI library out of the box, so you need to choose one.
Popular options would be MFC (under Windows/Visual C++) or Qt (with quite a lot additional libraries and features, working on many platforms).
Since you mention Word, it appears that you're on the Windows platform.
Then consider starting with e.g. the Lessons in Windows API Programming (C++) hands-on tutorial.
There are also a great many other tutorials on the net, and books to buy. I just picked the one that I was most familiar with, as the author. Regarding books, the classic book on programming the Windows API is Petzold's "Windows Programming", but I seem to recall that the latest version is for Windows 8 and in C# (earlier version were C/C++).
The tutorial leads you through how to get started with creating window programs using the Windows API (Application Program Interface) direcetly.
This is fairly language independent, but the language used in the tutorial is C++. C++ doesn't have standard library support for GUI stuff. The idea in C++ is that you're free to use whatever third party libraries that you want, or create them, such as the Windows API.
This is highly platform dependent. You can use a GUI cross-platform library, like QT, or use native mechanisms. Under Windows you can use the WinAPI and MFC.

Looking for a C++ GUI library in which you can design fancy GUIs (like for games), [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Looking for a C++ GUI library in which you can design fancy GUIs (like for games),
something in which you can make something beautiful (rounded buttons with rollover effects, embed beautiful background graphics, cool and colorful scrollbars and progress bars, etc.)
It needs to be open source & allowed to be used in proprietary software. Should be also cross-platform, and shouldn´t need to be linked to thousands of libraries or days to get the compiler configured to run even for small samples.
I hope I´m not asking too much
I tried CEGUI and I wasn´t convinced — it was tricky and I compiled the samples but they didn´t run on some computers.
QuickGUI seems to need OGRE (tell me if I´m wrong), which I don´t want to learn now.
Navi needs GeckoRuntime, which ist too big for my project!
wxWidgets doesn´t seem to be focused on design but on functionality (tell me if I´m wrong)
Try GTK+ or Qt, although it's more of a framework than a library. Both are widely used GUI toolkits. Hope that helps.
I believe libRocket is designed with game user interfaces in mind.
http://www.librocket.com/
Its based on HTML/CSS which, in my opinion, is an excellent way to define a user interface.
You might want to take a look at Qt. You can probably do much of what you are asking for using Qt. More specifically take a look at these features in Qt
CSS Customizations of Qt Widgets
QtOpenGL for 3D graphics ( if you need 3D graphics and need to embed Qt Widgets into a 3D environment).
QGraphicsView for combining multiple widgets in different ways
When you download Qt, it comes with a set of demos. You can take a look at these demos and other examples and re-use the concepts of the parts you like.
I have worked with Qt quite a bit and I can confidently say that you can achieve just about anything you can imagine.
GuiChan? http://guichan.sourceforge.net/wiki/index.php/Features
I haven't personally used it yet, but will intend to use it on a game I'm currently working on.
Scaleform is a commerical solution.
http://www.scaleform.com/products/clik
Many people tell me good things about it.

Linux GUI development [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I have a large GUI project that I'd like to port to Linux.
What is the most recommended framework to utilize for GUI programming in Linux? Are Frameworks such as KDE / Gnome usable for this objective Or is better to use something more generic other than X?
I feel like if I chose one of Gnome or KDE, I'm closing the market out for a chunk of the Linux market who have chosen one over the other. (Yes I know there is overlap)
Is there a better way? Or would I have to create 2 complete GUI apps to have near 100% coverage?
It's not necessary to have a cross-platform solution that will also work on Win32.
Your best bet may be to port it to a cross-platform widget library such as wxWidgets, which would give you portability to any platform wxWidgets supports.
It's also important to make the distinction between Gnome libraries and GTK, and likewise KDE libraries and Qt. If you write the code to use GTK or Qt, it should work fine for users of any desktop environment, including less popular ones like XFCE. If you use other Gnome or KDE-specific libraries to do non-widget-related tasks, your app would be less portable between desktop environments.
I recommend wxWidgets or Qt. They are both mature, well-structured and cross-platform, with decent documentation and sample source code.
Gnome apps work on KDE desktops and vice versa; you won't be locking anyone out. As far as toolkits go, it's fairly subjective. All of the toolkits are fairly cross-platform. If you're not open source, then GTK+ would be the cheaper option, as Qt is only free for open source use, whereas GTK+ is LGPL.
Have you thought of using Mono? Programs like Paint.NET work great under Linux & Windows.