• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

QT Framework - what is this

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
I am starting to see S/W position requirements asking for QT and QT framework experience.

Someone please provide a 30 second read on what this is.

Any clues on how easy it is to understand and come up to speed will be appreciated.

TIA
 
Literally, the first result when you search "qt" in google.

Qt (framework) - Wikipedia, the free encyclopedia

But it's a GUI library basically.
 
Thanks. The GUI library was what I was expecting
 
Last edited:
How feasible is it in this day and age to write truly cross platform C++ applications? What percentage of code can be 100% platform independent?

I do web development for a living, so I don't have to worry about supporting multiple platforms. I use Java for my personal projects to get cross-platform support.
 
How feasible is it in this day and age to write truly cross platform C++ applications? What percentage of code can be 100% platform independent?

I do web development for a living, so I don't have to worry about supporting multiple platforms. I use Java for my personal projects to get cross-platform support.

In the embedded field; different OS can be used according to preference and decent graphics may not exist. similar to using the old CGI on a PC
QT supports some of those OSes being used.

Similar to how Motif was used on *nix platforms for graphics.

  • Windows &#8211; Qt for Microsoft Windows XP, Vista, 7[33]
  • Windows CE, Mobile &#8211; Qt for Windows CE and Windows Mobile[34]
  • Symbian &#8211; Qt for the Symbian platform.[35][36][37][38][39][40][41][42][43] Qt is to replace Nokia's Avkon as the supported UI SDK for developing Symbian applications.[44] The Qt for Symbian development group has many quality-controlled articles available.
  • OS X &#8211; Qt for Apple OS X; supports applications on Cocoa[45]
  • X11 &#8211; Qt for X Window System (GNU/Linux, FreeBSD, HP-UX, Solaris, AIX, etc.)[46]
  • Embedded Linux &#8211; Qt for embedded platforms: personal digital assistant, smartphone, etc.[47]
  • Maemo, MeeGo &#8211; Qt for Maemo, merged with Moblin to MeeGo;[48] many applications are already written for Maemo based on the prior Internet tablets; the Nokia N900 also supports Qt; the Forum Nokia Wiki has quality-controlled articles supporting Qt development; mhe Maemo has a development group on Forum Nokia Wiki at Forum Nokia Wiki Maemo.
  • Wayland &#8211; Qt for Wayland display server. Qt applications can switch between graphical backends like X and Wayland at run time with the -platform command line option[49][50]

For what it matters, there are two Webinars coming up, in Oct and November for Developers
 
Last edited:
How feasible is it in this day and age to write truly cross platform C++ applications? What percentage of code can be 100% platform independent?

I tinkered with QT a few years ago but never seriously learned it. I think it's able to hide *most* of the platform specific code, but it depends on what you're trying to do.

Most of the other cross-platform C++ libs I've used tend to still involve #ifdef blocks with platform specific code.
 
Yes, QT hides *most* specifics. For the rest, #ifdef can be used, or you can write the implementation of a platform specific function in separate files and let the QT's compilation system to pick only the appropriate one for compilation.

QT used to be monolithic, but has been decomposed. Therefore, it is possible to write a CLI-application with it without linking in all the GUI bits.

Essentially, there are about three components in QT: the event-loop based application, the GUI widgets, and the container types (which are an alternative to STL).
 
How feasible is it in this day and age to write truly cross platform C++ applications? What percentage of code can be 100% platform independent?

I do web development for a living, so I don't have to worry about supporting multiple platforms. I use Java for my personal projects to get cross-platform support.

It's perfectly practical, within reason. A businessy database client type app will be easily portable between OS-X/Windows/Desktop Linux without any major gotchas. The biggest issue will be packaging for distribution, and making sure everything has nice icons and such. You'll have to do somewhat different things to make .deb, .rpm, .msi packages, etc.

If you want to have something that works literally "anywhere," obviously radically different form factors will have different UI needs. There's really nothing the API can do that will make a big CAD app that requires two monitors work sensibly on a cell phone, or a washing machine. But, between basically equivalent platforms, for a reasonable subset of cases, you can have something that builds without any platform specific code whatsoever. I have done it often enough. At work, I currently have a centrally deployed app using the Python Qt bindings that Mac in Linux users both use. The actual python script is buried inside a Mac style .app folder structure, so mac users can just double click on it. Linux users just execute the script directly. Literally zero changes between platforms.

Personally, I find web development much more onerous than native C++ development with Qt. When I try to do web development, I have to simultaneously deal with something like 4 languages (ruby [or whatever], HTML, CSS, JavaScript), potentially more with things that compile to CSS and such, and deal with slightly different runtimes in various browsers, and versions of those browsers. Things work slightly differently on the server vs. my local machine in dev mode.

People keep telling me web development is "easier," but I just can't understand that sentiment. Obviously, it works well for many people, and the best tool is usually just the one you know best, etc. Different strokes for different folks, I guess.
 
People keep telling me web development is "easier," but I just can't understand that sentiment. Obviously, it works well for many people, and the best tool is usually just the one you know best, etc. Different strokes for different folks, I guess.

I hear you there. I don't think it's easier. In fact on the occasions when I am asked to do something in Silverlight, WPF, or just a little console job it almost feels relaxing. As you said, in the typical web app these days you're dealing with several different languages at all times, and have to understand at least three layers of code involved in everything you do.
 
Back
Top