Qt (creator) concept / hierarchy - perhaps off -topic ?
-
This is my second post here, so do not flame me if it is a stupid post / question.
Just decided to use "Qt" to develop simple GUI program ( in C++) to "connect" PC via bluetooth to application running on RPi.I have read several "multi-platform description of Qt" , what I am missing is description of how it actually interact with " underlying technologies" like OpenGL and anything build on foundation of OpenGL as "graphical application". .
At least it appears to me that way.
There is nothing fundamentally wrong with building an application - likes "Qt Creator " on top " of other applications.
But it would help to navigate and implement such applications knowing "who is on first" .
Just saying.
-
This is my second post here, so do not flame me if it is a stupid post / question.
Just decided to use "Qt" to develop simple GUI program ( in C++) to "connect" PC via bluetooth to application running on RPi.I have read several "multi-platform description of Qt" , what I am missing is description of how it actually interact with " underlying technologies" like OpenGL and anything build on foundation of OpenGL as "graphical application". .
At least it appears to me that way.
There is nothing fundamentally wrong with building an application - likes "Qt Creator " on top " of other applications.
But it would help to navigate and implement such applications knowing "who is on first" .
Just saying.
@AnneRanch said in Qt (creator) concept / hierarchy - perhaps off -topic ?:
This is my second post here, so do not flame me if it is a stupid post / question.
We try to stay friendly and respectful around here, don't worry :-)
Just decided to use "Qt" to develop simple GUI program ( in C++) to "connect" PC via bluetooth to application running on RPi.
I have read several "multi-platform description of Qt" , what I am missing is description of how it actually interact with " underlying technologies" like OpenGL and anything build on foundation of OpenGL as "graphical application". .I don't fully understand what you mean, but the way things work in Qt is that underlaying technologies are hidden away behind cross-platform wrappers or abstractions.
So in case of OpenGL - if you use QML and QtQuick to build your user interface, Qt will use OpenGL to draw the whole UI. If you decide to use QtWidgets instead, either OpenGL or raster (software) painter will be used. There are also other more advanced options (QtOpenGlWidget, Qt3D etc.) which allow you to get closer to the underlying APIs but in most cases this is not necessary.
At least it appears to me that way.
There is nothing fundamentally wrong with building an application - likes "Qt Creator " on top " of other applications.What do you mean by "building application on top of another"? Like an overlay?
But it would help to navigate and implement such applications knowing "who is on first" .
-
I started by "google Qt" .
Your post indicates that "Qt XXX" are various "special" variation of the Qt concept.
No problem with that , but as I pointed out - it makes initial application of the "Qt" hard to navigate.BTW I do appreciate "examples" and their "tool tip " descriptions, makes it easy to decide which example is best to use as project foundation. Very helpful.
Perhaps "...underlaying technologies are hidden away behind cross-platform wrappers or abstractions ..." is "OOP" concept of "hiding" stuff unfortunate example.
I have, quite by accident , "discovered" "qtconnectivity" which I would not necessarily called "advanced option / application ". Hence primary reason for my silly post. -
I started by "google Qt" .
Your post indicates that "Qt XXX" are various "special" variation of the Qt concept.
No problem with that , but as I pointed out - it makes initial application of the "Qt" hard to navigate.BTW I do appreciate "examples" and their "tool tip " descriptions, makes it easy to decide which example is best to use as project foundation. Very helpful.
Perhaps "...underlaying technologies are hidden away behind cross-platform wrappers or abstractions ..." is "OOP" concept of "hiding" stuff unfortunate example.
I have, quite by accident , "discovered" "qtconnectivity" which I would not necessarily called "advanced option / application ". Hence primary reason for my silly post.@AnneRanch said in Qt (creator) concept / hierarchy - perhaps off -topic ?:
I started by "google Qt" .
Your post indicates that "Qt XXX" are various "special" variation of the Qt concept.
No problem with that , but as I pointed out - it makes initial application of the "Qt" hard to navigate.Perhaps it will help to explain the bigger picture. Qt is a framework - it contains multiple modules and libraries which can be used in C++ applications.
Among these modules are ones which can be used to display UIs (like mentioned QtQuick and QtWidgets), but there are also many others (QtBluetooth classes allow communication with bluetooth devices, QtSerialPort allows you to use a serial port easily, QtNetwork can be used to talk with web servers etc.) and many general helpers (QString, QStandardPaths, containers, QDateTime, classes helping with XML, CBOR and JSON parsing etc.).
Primary use of Qt is to create GUI applications, all other modules plug into that. Most Qt classes expect QApplication object to be present, event loop to be running.
BTW I do appreciate "examples" and their "tool tip " descriptions, makes it easy to decide which example is best to use as project foundation. Very helpful.
Perhaps the "OOP" concept of "hiding" stuff unfortunate example.
I have, quite by accident , "discovered" "qtconnectivity" which I would not necessarily called "advanced option / application ". Hence primary reason for my silly post. -
I am familiar with term "framework" - used Windows MFC for years.
If I may use Windows / MFC analogy -
Windows is an operating system and MFC is Windows application.
MFC was "build" using programming language....The primary difference in Qt is it is a not for specific operating system - hence the term "multipla6form ". Fine.
Since Qt is primarily for supporting GUI application , one of the "underling" applications is OpenGL....
Similarly OpenGL was coded using programming language...To simplify specific tasks, not necessarily limited to graphics, Qt modules
are used.Am I understanding the purpose of Qt module correctly ?
In past I have heard terms such as "add ons" or"plug-in" , perhaps "template" would be a bad term - conflicting with C++ language.
Perhaps I should look for a list of "Qt modules" , right ?
Cheers
-
I am familiar with term "framework" - used Windows MFC for years.
If I may use Windows / MFC analogy -
Windows is an operating system and MFC is Windows application.
MFC was "build" using programming language....The primary difference in Qt is it is a not for specific operating system - hence the term "multipla6form ". Fine.
Since Qt is primarily for supporting GUI application , one of the "underling" applications is OpenGL....
Similarly OpenGL was coded using programming language...To simplify specific tasks, not necessarily limited to graphics, Qt modules
are used.Am I understanding the purpose of Qt module correctly ?
In past I have heard terms such as "add ons" or"plug-in" , perhaps "template" would be a bad term - conflicting with C++ language.
Perhaps I should look for a list of "Qt modules" , right ?
Cheers
@AnneRanch
Perhaps I should look for a list of "Qt modules" , right ?
You can find all modules here: https://doc.qt.io/qt-5/qtmodules.html
To build a simple GUI program with the classic widgets, you need QtCore, QtGui and QtWidgets. Depending on your task, other modules may be added to your app to bring extended functionality.
Regards
-
I am familiar with term "framework" - used Windows MFC for years.
If I may use Windows / MFC analogy -
Windows is an operating system and MFC is Windows application.
MFC was "build" using programming language....The primary difference in Qt is it is a not for specific operating system - hence the term "multipla6form ". Fine.
Since Qt is primarily for supporting GUI application , one of the "underling" applications is OpenGL....
Similarly OpenGL was coded using programming language...To simplify specific tasks, not necessarily limited to graphics, Qt modules
are used.Am I understanding the purpose of Qt module correctly ?
In past I have heard terms such as "add ons" or"plug-in" , perhaps "template" would be a bad term - conflicting with C++ language.
Perhaps I should look for a list of "Qt modules" , right ?
Cheers
@AnneRanch said in Qt (creator) concept / hierarchy - perhaps off -topic ?:
Am I understanding the purpose of Qt module correctly ?
Yes, although I think there is no need to get bogged down in terminology. The best way (in my opinion) to learn Qt is to write some simple GUI applications. That will quickly give you an inkling into how it all works together.
-
Appreciate all comments.
Unfortunately my intend for using Qt is not centred on GUI consequently I have need to know more than basic / core .
I would probably receive another "mouthful of unsolicited advises " if I tell why I wanted to use Qt.I would be perfectly happy using one of the canned examples, but getting the example I can really use has been rather painful.
Thanks to posts likes yours I am making progress , despite all the unnecessary side-trips.
Appreciate your support , very much.
-
Appreciate all comments.
Unfortunately my intend for using Qt is not centred on GUI consequently I have need to know more than basic / core .
I would probably receive another "mouthful of unsolicited advises " if I tell why I wanted to use Qt.I would be perfectly happy using one of the canned examples, but getting the example I can really use has been rather painful.
Thanks to posts likes yours I am making progress , despite all the unnecessary side-trips.
Appreciate your support , very much.
@AnneRanch said
" if I tell why I wanted to use Qt.
Please tell :)
Just as a note, most examples are available with 3 clicks in Creator to check out.
-
Perhaps this repost may help to solve the issue, however, I like to point out I originally did NOT start this post here to discuss technical subjects
This is just a final courtesy reply.
I do not wish to further discuss the issue anyway anywhere on this forum.
Reasons are many. .I have a working " Qt creator " IDE , running on Ubuntu, which comes with "installed projects examples". The "installed examples" do not include "qtconnectivity" option examples. I have successfully downloaded / installed , using git , the additional qtconnecetivity examples.
The installed examples are retrieved in IDE using a standard pull-down combo box which currently contains ONLY the path to the installed examples.
Since it is a combo box and from the above referenced description I am assuming that there is a way to add path to the downloaded qtconnectivity examples to the combo box.
I do not do XML and would appreciate an assistance finding the XML code where I can add the additional path to the qtconncetivity examples.
I am well aware that modifying "Qt creator" XML code may have unexpected side-effects and I will take full respossibility for such.