Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to really use multiproject ?
Forum Updated to NodeBB v4.3 + New Features

How to really use multiproject ?

Scheduled Pinned Locked Moved Unsolved General and Desktop
25 Posts 8 Posters 2.4k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Anonymous_Banned275

    @JKSH said in How to really use multiproject ?:

    @Christian-Ehrlicher said in How to really use multiproject ?:

    What has this to do with 'C++ Gurus' ? Closed!

    It's a valid question about Qt Project structuring, so I've moved it to the General thread and re-opened the thread.

    And I am suppose to say "thank you" ?

    I wonder if there is a forum for kindergarten children where a talent of "moving boxes" would be more appreciated.

    But there is a moral of this
    reading and comprehending should be prerequisite before becoming a "moderator". Is it?

    But if one cannot pass that, it is irrelevant to ask for just a tiny bit of (common) courtesy before post is monkeyed around with.
    I suppose NOT locking the thread one has no clue what it is about is way too much to ask.

    Cheers
    IBTL

    kshegunovK Offline
    kshegunovK Offline
    kshegunov
    Moderators
    wrote on last edited by
    #6

    @AnneRanch said in How to really use multiproject ?:

    And I am suppose to say "thank you" ?

    No, because the comment was not directed at you.

    I wonder if there is a forum for kindergarten children where a talent of "moving boxes" would be more appreciated.
    But there is a moral of this reading and comprehending should be prerequisite before becoming a "moderator". Is it?

    You know practically nothing about any of us, neither what we've read, nor what we comprehend, not what field we work in or what we know and don't know. You ain't impressing nobody by spitting bile.

    But if one cannot pass that, it is irrelevant to ask for just a tiny bit of (common) courtesy before post is monkeyed around with.

    This is a two-way street. Don't expect people to rally in support if you semi-randomly insult them.

    Read and abide by the Qt Code of Conduct

    A 1 Reply Last reply
    4
    • kshegunovK kshegunov

      @AnneRanch said in How to really use multiproject ?:

      And I am suppose to say "thank you" ?

      No, because the comment was not directed at you.

      I wonder if there is a forum for kindergarten children where a talent of "moving boxes" would be more appreciated.
      But there is a moral of this reading and comprehending should be prerequisite before becoming a "moderator". Is it?

      You know practically nothing about any of us, neither what we've read, nor what we comprehend, not what field we work in or what we know and don't know. You ain't impressing nobody by spitting bile.

      But if one cannot pass that, it is irrelevant to ask for just a tiny bit of (common) courtesy before post is monkeyed around with.

      This is a two-way street. Don't expect people to rally in support if you semi-randomly insult them.

      A Offline
      A Offline
      Anonymous_Banned275
      wrote on last edited by
      #7

      @kshegunov said in How to really use multiproject ?:

      @AnneRanch said in How to really use multiproject ?:

      And I am suppose to say "thank you" ?

      No, because the comment was not directed at you.
      In that case -suggestion - next time send personal e-mail.

      I wonder if there is a forum for kindergarten children where a talent of "moving boxes" would be more appreciated.
      But there is a moral of this reading and comprehending should be prerequisite before becoming a "moderator". Is it?

      You know practically nothing about any of us, neither what we've read, nor what we comprehend, not what field we work in or what we know and don't know. You ain't impressing nobody by spitting bile.

      I generally choose whom and when to impress.

      But if one cannot pass that, it is irrelevant to ask for just a tiny bit of (common) courtesy before post is monkeyed around with.

      This is a two-way street. Don't expect people to rally in support if you semi-randomly insult them.

      Interesting ONE WAY comment.
      .
      Ever thought that I can only know about "US" only by reading the replies ?
      Are you sure I care to receive "support" from people who engage in moving my posts around and locking them ? That is childish and if you are calling my way of speaking insults I definitely do not need or want to know more about you .

      I generally do not engage in social chit chat like this. It leads nowhere and expressing personal opinion or feeling DOES NOT CHANGE nor improve anything . Some people are immune...

      Besides , that is NOT why I am here , at this forum.

      BTW still no answer to my original post

      kshegunovK Pablo J. RoginaP 2 Replies Last reply
      0
      • A Anonymous_Banned275

        @kshegunov said in How to really use multiproject ?:

        @AnneRanch said in How to really use multiproject ?:

        And I am suppose to say "thank you" ?

        No, because the comment was not directed at you.
        In that case -suggestion - next time send personal e-mail.

        I wonder if there is a forum for kindergarten children where a talent of "moving boxes" would be more appreciated.
        But there is a moral of this reading and comprehending should be prerequisite before becoming a "moderator". Is it?

        You know practically nothing about any of us, neither what we've read, nor what we comprehend, not what field we work in or what we know and don't know. You ain't impressing nobody by spitting bile.

        I generally choose whom and when to impress.

        But if one cannot pass that, it is irrelevant to ask for just a tiny bit of (common) courtesy before post is monkeyed around with.

        This is a two-way street. Don't expect people to rally in support if you semi-randomly insult them.

        Interesting ONE WAY comment.
        .
        Ever thought that I can only know about "US" only by reading the replies ?
        Are you sure I care to receive "support" from people who engage in moving my posts around and locking them ? That is childish and if you are calling my way of speaking insults I definitely do not need or want to know more about you .

        I generally do not engage in social chit chat like this. It leads nowhere and expressing personal opinion or feeling DOES NOT CHANGE nor improve anything . Some people are immune...

        Besides , that is NOT why I am here , at this forum.

        BTW still no answer to my original post

        kshegunovK Offline
        kshegunovK Offline
        kshegunov
        Moderators
        wrote on last edited by
        #8

        Do you know @Denni-0? I imagine not. He too had decided to be a self-righteous crusader. Keep up the good work!

        BTW still no answer to my original post

        Intentionally.

        Read and abide by the Qt Code of Conduct

        1 Reply Last reply
        3
        • JKSHJ JKSH

          @Christian-Ehrlicher said in How to really use multiproject ?:

          What has this to do with 'C++ Gurus' ? Closed!

          It's a valid question about Qt Project structuring, so I've moved it to the General thread and re-opened the thread.

          Pl45m4P Offline
          Pl45m4P Offline
          Pl45m4
          wrote on last edited by Pl45m4
          #9

          @JKSH

          Btw: just realized, the down-vote button is gone... ?!
          Not that I want to use it somewhere ;-) Just found out that it's missing


          If debugging is the process of removing software bugs, then programming must be the process of putting them in.

          ~E. W. Dijkstra

          jsulmJ 1 Reply Last reply
          2
          • Pl45m4P Pl45m4

            @JKSH

            Btw: just realized, the down-vote button is gone... ?!
            Not that I want to use it somewhere ;-) Just found out that it's missing

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #10

            @Pl45m4 Yes, it was misused sometimes.

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            Pl45m4P 1 Reply Last reply
            2
            • jsulmJ jsulm

              @Pl45m4 Yes, it was misused sometimes.

              Pl45m4P Offline
              Pl45m4P Offline
              Pl45m4
              wrote on last edited by
              #11

              @jsulm

              Ah ok, I see.


              If debugging is the process of removing software bugs, then programming must be the process of putting them in.

              ~E. W. Dijkstra

              1 Reply Last reply
              0
              • A Anonymous_Banned275

                After months of futzing with "stuff" I am finally at the point of real usage of QtCreator multiproject AKA "SUBDIRS"

                This is my task - for now
                My multi project consists of
                subproject examples - menus
                subproject examples - btscanner

                Each subproject works as expected

                My task is to

                open "menus" and then in "menus"
                open and run " btscanner"

                So far my subprojects have no way to "see" each other to share,
                SUBDIRS do not do much for such sharing.

                How do I implement basic C extendable philosophy in QtCreator multiproject ?

                HOW do I "include btscanner" project so it is accessible in QtCreator mutiporject scheme - initially from subproject "menus"?

                I am asking for some generic description - something to append to "SUBDIRS" scheme.

                Any suggestion would be appreciated, again in C style "include ", no details necessary :

                #include header....
                ....
                (example ) main.cpp

                This is my "SUBIRS" so far :

                SUBDIRS +=
                ../../../Qt_Projects/CAT_FT857_BT/CAT_FT857_Bluetooth_MAIN_PROJECT
                SOURCE/ORIGINAL_HCI/QT_PROJECT_CAT/CAT_V1/TEST_PROJECT.pro
                SOURCE/qtconnectivity/examples/bluetooth/btscanner #\

                Pl45m4P Offline
                Pl45m4P Offline
                Pl45m4
                wrote on last edited by Pl45m4
                #12

                @AnneRanch

                See this topic, esp. @t3685 's reply.
                https://forum.qt.io/topic/58180/solved-create-top-level-qt-project-to-build-multiple-projects/10

                Other links:

                • https://doc.qt.io/qtcreator/creator-project-creating.html#adding-subprojects-to-projects
                • https://doc.qt.io/qt-5/qmake-variable-reference.html#subdirs

                If you have really huge projects with a more complex structure, it's recommended to use CMake instead of QMake.


                If debugging is the process of removing software bugs, then programming must be the process of putting them in.

                ~E. W. Dijkstra

                A 1 Reply Last reply
                3
                • A Anonymous_Banned275

                  @kshegunov said in How to really use multiproject ?:

                  @AnneRanch said in How to really use multiproject ?:

                  And I am suppose to say "thank you" ?

                  No, because the comment was not directed at you.
                  In that case -suggestion - next time send personal e-mail.

                  I wonder if there is a forum for kindergarten children where a talent of "moving boxes" would be more appreciated.
                  But there is a moral of this reading and comprehending should be prerequisite before becoming a "moderator". Is it?

                  You know practically nothing about any of us, neither what we've read, nor what we comprehend, not what field we work in or what we know and don't know. You ain't impressing nobody by spitting bile.

                  I generally choose whom and when to impress.

                  But if one cannot pass that, it is irrelevant to ask for just a tiny bit of (common) courtesy before post is monkeyed around with.

                  This is a two-way street. Don't expect people to rally in support if you semi-randomly insult them.

                  Interesting ONE WAY comment.
                  .
                  Ever thought that I can only know about "US" only by reading the replies ?
                  Are you sure I care to receive "support" from people who engage in moving my posts around and locking them ? That is childish and if you are calling my way of speaking insults I definitely do not need or want to know more about you .

                  I generally do not engage in social chit chat like this. It leads nowhere and expressing personal opinion or feeling DOES NOT CHANGE nor improve anything . Some people are immune...

                  Besides , that is NOT why I am here , at this forum.

                  BTW still no answer to my original post

                  Pablo J. RoginaP Offline
                  Pablo J. RoginaP Offline
                  Pablo J. Rogina
                  wrote on last edited by
                  #13

                  @AnneRanch said in How to really use multiproject ?:

                  BTW still no answer to my original post

                  Based on the way you behaved in this post, I'd bet the answer is going to take a long time...

                  Upvote the answer(s) that helped you solve the issue
                  Use "Topic Tools" button to mark your post as Solved
                  Add screenshots via postimage.org
                  Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                  1 Reply Last reply
                  1
                  • Pl45m4P Pl45m4

                    @AnneRanch

                    See this topic, esp. @t3685 's reply.
                    https://forum.qt.io/topic/58180/solved-create-top-level-qt-project-to-build-multiple-projects/10

                    Other links:

                    • https://doc.qt.io/qtcreator/creator-project-creating.html#adding-subprojects-to-projects
                    • https://doc.qt.io/qt-5/qmake-variable-reference.html#subdirs

                    If you have really huge projects with a more complex structure, it's recommended to use CMake instead of QMake.

                    A Offline
                    A Offline
                    Anonymous_Banned275
                    wrote on last edited by
                    #14

                    @Pl45m4 said in How to really use multiproject ?:

                    @AnneRanch

                    See this topic, esp. @t3685 's reply.
                    https://forum.qt.io/topic/58180/solved-create-top-level-qt-project-to-build-multiple-projects/10

                    Other links:

                    • https://doc.qt.io/qtcreator/creator-project-creating.html#adding-subprojects-to-projects
                    • https://doc.qt.io/qt-5/qmake-variable-reference.html#subdirs

                    If you have really huge projects with a more complex structure, it's recommended to use CMake instead of QMake.

                    Another post recently linked back to this one, so I wanted to augment this with a couple more relevant links for setting up a manageable, maintainable qmake SUBDIRS structure:

                    https://www.toptal.com/qt/vital-guide-qmake

                    https://wiki.qt.io/QMake-top-level-srcdir-and-builddir

                    Which helped me set up a working example: https://github.com/219-design/qt-qml-project-template-with-ci/blob/6af6488d74e1dc97a/main_gui.pro

                    The above is the "closest" example of implementing "SUBDIRS" with "main project" , but it is little too complex to gain understanding how to implement such setting.

                    Most examples / tutorials are about the concept of "SUBDIRS" . In my interpretation the "SUBDIRS" is basically way to manage independent projects, sort off "under one roof".
                    However to actually run such scheme is another and still unclear story.

                    Looks as intimate understanding of "make" would help.
                    Maybe the answer is in ".depends" setting of the main .pro.
                    Cheers

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      Anonymous_Banned275
                      wrote on last edited by
                      #15

                      This is a REAL C question , but since the discussion is now here I am posting it here.

                      Update:
                      As of now my main project is "example MDI".
                      So I am taking this route hoping to find a solution to the issue.
                      It is sort of "do not reinvent the wheel" approach.

                      The MDI example has the attached piece of code which uses QApplication to show text dialog. The link to QApplicatio is still under investigation - all I know it is "external" to "MDI project ".

                      I figure if I can actually trace the code flow all the way to the message text I could replicate similar approach and replace QApplication with btscanner.

                      I need assistance with

                      1. How do I trace / debug all the way to the QApplication source code (?) which contains the message text ? I am presently stuck at the aboutQt function.
                      2. Am I on right track to trace the "addAction" call or is not going to help with btscanner ? ( I feel my current approach is sort of "starting in the middle ". )

                      Code snippet from "MDI example"

                      QAction *aboutQtAct = helpMenu->addAction(tr("About &Qt (link to other projets?) "),
                               qApp, &QApplication::aboutQt); // shows text dialog "about Qt " 
                      aboutQtAct->setStatusTip(tr("Show the Qt library's About box"));
                      
                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        Anonymous_Banned275
                        wrote on last edited by
                        #16

                        I will back-off a little.
                        Can somebody explain (to me ) why the SUBDIRS "directories " AKA independent programs has to be "in sequence "?

                        Each program basically follow the Qt "Application" scheme - from TEMPLATE to TARGET.

                        So far I have not found how these dependent programs - each one with its own "main" and QApplication "callback / event" loop can run as one program.
                        Logically there should be one and only one "main " and its callback / event loop.
                        Maybe the idea of independent programs supporting ONE main program is bogus. Perhaps there should be ONE main program supported by libraries , not independent programs. (Similar scheme works perfect in another IDE - BUT it has no GUI nor events support !) .
                        Then the whole scheme of SUBDIRS as "independent programs" is wrong.

                        JKSHJ 1 Reply Last reply
                        0
                        • A Anonymous_Banned275

                          I will back-off a little.
                          Can somebody explain (to me ) why the SUBDIRS "directories " AKA independent programs has to be "in sequence "?

                          Each program basically follow the Qt "Application" scheme - from TEMPLATE to TARGET.

                          So far I have not found how these dependent programs - each one with its own "main" and QApplication "callback / event" loop can run as one program.
                          Logically there should be one and only one "main " and its callback / event loop.
                          Maybe the idea of independent programs supporting ONE main program is bogus. Perhaps there should be ONE main program supported by libraries , not independent programs. (Similar scheme works perfect in another IDE - BUT it has no GUI nor events support !) .
                          Then the whole scheme of SUBDIRS as "independent programs" is wrong.

                          JKSHJ Online
                          JKSHJ Online
                          JKSH
                          Moderators
                          wrote on last edited by
                          #17

                          @AnneRanch said in How to really use multiproject ?:

                          Logically there should be one and only one "main " and its callback / event loop.
                          Maybe the idea of independent programs supporting ONE main program is bogus. Perhaps there should be ONE main program supported by libraries , not independent programs....

                          Then the whole scheme of SUBDIRS as "independent programs" is wrong.

                          This is correct.

                          SUBDIRS is for grouping one or more libraries with one application (or no application)

                          I have not found how these dependent programs - each one with its own "main" and QApplication "callback / event" loop can run as one program.

                          This is impossible. You cannot have multiple main() and QApplication instances in the same program.

                          Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                          A 1 Reply Last reply
                          2
                          • JKSHJ JKSH

                            @AnneRanch said in How to really use multiproject ?:

                            Logically there should be one and only one "main " and its callback / event loop.
                            Maybe the idea of independent programs supporting ONE main program is bogus. Perhaps there should be ONE main program supported by libraries , not independent programs....

                            Then the whole scheme of SUBDIRS as "independent programs" is wrong.

                            This is correct.

                            SUBDIRS is for grouping one or more libraries with one application (or no application)

                            I have not found how these dependent programs - each one with its own "main" and QApplication "callback / event" loop can run as one program.

                            This is impossible. You cannot have multiple main() and QApplication instances in the same program.

                            A Offline
                            A Offline
                            Anonymous_Banned275
                            wrote on last edited by
                            #18

                            @JKSH
                            So it is back to terminology or semantics.

                            "project" as used in Qt terminology, especially in "SUBDIRS" scheme is not necessarily code build as a stand alone functioning application.

                            "library" on the other hand is build / complied as a code to be used to support a "project". Library is NOT standalone functioning application.

                            With that in mind - SUBDIRS options to "add new project " or add "existing projects " is grossly misleading.

                            However, the example "MDI" application APPEARS to combine Qt standard QApplication "app" with a reference to another "QApplication " qapp.

                            Unfortunately this software trick is documented nowhere.
                            But for sure - "MDI" example source code is nowhere near "SUBDIRS" scheme.

                            So for time being I am looking into replacing "MDI" QApplication qapp with QApplication "btscaner_app" ( no "main" event loop ) as used in "MDI" example .

                            Does this makes any sense ?

                            JKSHJ Pl45m4P 2 Replies Last reply
                            0
                            • A Anonymous_Banned275

                              @JKSH
                              So it is back to terminology or semantics.

                              "project" as used in Qt terminology, especially in "SUBDIRS" scheme is not necessarily code build as a stand alone functioning application.

                              "library" on the other hand is build / complied as a code to be used to support a "project". Library is NOT standalone functioning application.

                              With that in mind - SUBDIRS options to "add new project " or add "existing projects " is grossly misleading.

                              However, the example "MDI" application APPEARS to combine Qt standard QApplication "app" with a reference to another "QApplication " qapp.

                              Unfortunately this software trick is documented nowhere.
                              But for sure - "MDI" example source code is nowhere near "SUBDIRS" scheme.

                              So for time being I am looking into replacing "MDI" QApplication qapp with QApplication "btscaner_app" ( no "main" event loop ) as used in "MDI" example .

                              Does this makes any sense ?

                              JKSHJ Online
                              JKSHJ Online
                              JKSH
                              Moderators
                              wrote on last edited by
                              #19

                              @AnneRanch said in How to really use multiproject ?:

                              "project" as used in Qt terminology, especially in "SUBDIRS" scheme is not necessarily code build as a stand alone functioning application.

                              Correct. "Project" is a broad term. For example, you can have an "application project" (which lets you build a standalone functioning application) or a "library project" (which lets you build a library).

                              Here are some different types of projects: https://doc.qt.io/qt-5//qmake-common-projects.html

                              Library is NOT standalone functioning application.

                              Correct. And this is not Qt-specific: The word "library" means something quite specific to programmers, no matter what programming language they use: https://en.wikipedia.org/wiki/Library_(computing)

                              • Qt is a collection of libraries
                              • Qt Creator is a standalone functioning application

                              With that in mind - SUBDIRS options to "add new project " or add "existing projects " is grossly misleading.

                              How so? For example, I can add 1 application project and 3 library projects to my SUBDIRS project. What's misleading about that?

                              However, the example "MDI" application APPEARS to combine Qt standard QApplication "app" with a reference to another "QApplication " qapp.

                              Sorry, I don't understand what you mean. Can you please elaborate?

                              Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                              1 Reply Last reply
                              2
                              • A Anonymous_Banned275

                                @JKSH
                                So it is back to terminology or semantics.

                                "project" as used in Qt terminology, especially in "SUBDIRS" scheme is not necessarily code build as a stand alone functioning application.

                                "library" on the other hand is build / complied as a code to be used to support a "project". Library is NOT standalone functioning application.

                                With that in mind - SUBDIRS options to "add new project " or add "existing projects " is grossly misleading.

                                However, the example "MDI" application APPEARS to combine Qt standard QApplication "app" with a reference to another "QApplication " qapp.

                                Unfortunately this software trick is documented nowhere.
                                But for sure - "MDI" example source code is nowhere near "SUBDIRS" scheme.

                                So for time being I am looking into replacing "MDI" QApplication qapp with QApplication "btscaner_app" ( no "main" event loop ) as used in "MDI" example .

                                Does this makes any sense ?

                                Pl45m4P Offline
                                Pl45m4P Offline
                                Pl45m4
                                wrote on last edited by
                                #20

                                @AnneRanch said in How to really use multiproject ?:

                                However, the example "MDI" application APPEARS to combine Qt standard QApplication "app" with a reference to another "QApplication " qapp.

                                Are you confused because of QApplication and QCoreApplicaton?

                                    QApplication app(argc, argv);
                                    QCoreApplication::setApplicationName("MDI Example");
                                    QCoreApplication::setOrganizationName("QtProject");
                                    QCoreApplication::setApplicationVersion(QT_VERSION_STR);
                                

                                (https://code.qt.io/cgit/qt/qtbase.git/tree/examples/widgets/mainwindows/mdi/main.cpp?h=5.15#n61)

                                It's the same, just a bit further down in inheritance tree...
                                If you look at this, you can see that

                                • QApplication inherits
                                  • QGuiApplication which inherits
                                    • QCoreApplication

                                (bottom to top)

                                So it's still the same instance of qApp.


                                If debugging is the process of removing software bugs, then programming must be the process of putting them in.

                                ~E. W. Dijkstra

                                1 Reply Last reply
                                1
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #21

                                  @JKSH said in How to really use multiproject ?:

                                  SUBDIRS is for grouping one or more libraries with one application (or no application)

                                  Just a small addition, you may as well have several applications built using the SUBDIRS model. They will each be independent application. That is useful when you create a suite of applications working together. Like for example a main application plus some helper tools.

                                  One example of SUBDIRS project: Qt itself up to Qt 6 before they switched to the cmake build system.

                                  You have there an example with lots of libraries and executables plus tests.

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  JKSHJ 1 Reply Last reply
                                  1
                                  • A Offline
                                    A Offline
                                    Anonymous_Banned275
                                    wrote on last edited by
                                    #22

                                    Yes, I did not realize QApplication is the " lead dog" , did not pay attention to inheritance.
                                    Here is my "confusion point" :

                                    // originally last entry Help menu
                                    QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); //TOK

                                    // this enables to print "local" dialog / message - no issue here

                                    QAction *aboutAct = helpMenu->addAction(tr("&About"), this, &MainWindow::about);
                                    aboutAct->setStatusTip(tr("Show the application's About box"));
                                    

                                    //TODO link to other projects ?? HERE ??

                                    // #define qApp (static_cast<QApplication *>(QCoreApplication::instance()))
                                    // the above "passes control to "qApp" which actually prints simple text dialog

                                    // can I use same scheme and in my case pass control to "btscanner" btscanner_App. ?

                                    *#define btscanner_App (static_cast<QApplication >(QCoreApplication::instance())) ??? so how do I specify btscanner application here ??

                                    QAction *aboutQtAct =
                                    helpMenu->addAction(tr("About &Qt (link to other projets?) "), qApp, &QApplication::aboutQt); 
                                    aboutQtAct->setStatusTip(tr("Show the Qt library's About box"));
                                    

                                    //#endif

                                    Similar post was here :
                                    https://forum.qt.io/topic/72909/is-about-qt-dialog-html-or-text-content-available-in-qt5-api

                                    But then they asked HOW to access the Qt about box/ dialog.
                                    I am asking how to use similar method to pass control from "MDI" to "btscanner" application. in "SUBDIRS" scheme.

                                    What I am asking is
                                    **an expiation about the "#define qApp" usage in "MDI" to access "About Qt" application - not the actual access to the "about Qt" .

                                    JKSHJ 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      @JKSH said in How to really use multiproject ?:

                                      SUBDIRS is for grouping one or more libraries with one application (or no application)

                                      Just a small addition, you may as well have several applications built using the SUBDIRS model. They will each be independent application. That is useful when you create a suite of applications working together. Like for example a main application plus some helper tools.

                                      One example of SUBDIRS project: Qt itself up to Qt 6 before they switched to the cmake build system.

                                      You have there an example with lots of libraries and executables plus tests.

                                      JKSHJ Online
                                      JKSHJ Online
                                      JKSH
                                      Moderators
                                      wrote on last edited by
                                      #23

                                      @SGaist said in How to really use multiproject ?:

                                      @JKSH said in How to really use multiproject ?:

                                      SUBDIRS is for grouping one or more libraries with one application (or no application)

                                      Just a small addition, you may as well have several applications built using the SUBDIRS model. They will each be independent application. That is useful when you create a suite of applications working together. Like for example a main application plus some helper tools.

                                      Right, thanks. You can use a SUBDIRS project to build multiple standalone applications -- but not link them together into a single application.

                                      Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                      1 Reply Last reply
                                      1
                                      • A Anonymous_Banned275

                                        Yes, I did not realize QApplication is the " lead dog" , did not pay attention to inheritance.
                                        Here is my "confusion point" :

                                        // originally last entry Help menu
                                        QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); //TOK

                                        // this enables to print "local" dialog / message - no issue here

                                        QAction *aboutAct = helpMenu->addAction(tr("&About"), this, &MainWindow::about);
                                        aboutAct->setStatusTip(tr("Show the application's About box"));
                                        

                                        //TODO link to other projects ?? HERE ??

                                        // #define qApp (static_cast<QApplication *>(QCoreApplication::instance()))
                                        // the above "passes control to "qApp" which actually prints simple text dialog

                                        // can I use same scheme and in my case pass control to "btscanner" btscanner_App. ?

                                        *#define btscanner_App (static_cast<QApplication >(QCoreApplication::instance())) ??? so how do I specify btscanner application here ??

                                        QAction *aboutQtAct =
                                        helpMenu->addAction(tr("About &Qt (link to other projets?) "), qApp, &QApplication::aboutQt); 
                                        aboutQtAct->setStatusTip(tr("Show the Qt library's About box"));
                                        

                                        //#endif

                                        Similar post was here :
                                        https://forum.qt.io/topic/72909/is-about-qt-dialog-html-or-text-content-available-in-qt5-api

                                        But then they asked HOW to access the Qt about box/ dialog.
                                        I am asking how to use similar method to pass control from "MDI" to "btscanner" application. in "SUBDIRS" scheme.

                                        What I am asking is
                                        **an expiation about the "#define qApp" usage in "MDI" to access "About Qt" application - not the actual access to the "about Qt" .

                                        JKSHJ Online
                                        JKSHJ Online
                                        JKSH
                                        Moderators
                                        wrote on last edited by
                                        #24

                                        @AnneRanch said in How to really use multiproject ?:
                                        // #define qApp (static_cast<QApplication *>(QCoreApplication::instance()))

                                        // the above "passes control to "qApp" which actually prints simple text dialog

                                        This is wrong. The above shows you definition of qApp. qApp simply gives you a pointer to your program's QApplication object.

                                        Here is one way to use the pointer:

                                        QApplication *myProgram = qApp;
                                        myProgram->quit();
                                        

                                        // can I use same scheme and in my case pass control to "btscanner" btscanner_App. ?

                                        *#define btscanner_App (static_cast<QApplication >(QCoreApplication::instance())) ???

                                        No.

                                        You cannot use a #define or a pointer to "link to" other standalone applications. For that, you need to use some form of Inter-Process Communication (IPC).

                                        Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                        A 1 Reply Last reply
                                        2
                                        • JKSHJ JKSH

                                          @AnneRanch said in How to really use multiproject ?:
                                          // #define qApp (static_cast<QApplication *>(QCoreApplication::instance()))

                                          // the above "passes control to "qApp" which actually prints simple text dialog

                                          This is wrong. The above shows you definition of qApp. qApp simply gives you a pointer to your program's QApplication object.

                                          Here is one way to use the pointer:

                                          QApplication *myProgram = qApp;
                                          myProgram->quit();
                                          

                                          // can I use same scheme and in my case pass control to "btscanner" btscanner_App. ?

                                          *#define btscanner_App (static_cast<QApplication >(QCoreApplication::instance())) ???

                                          No.

                                          You cannot use a #define or a pointer to "link to" other standalone applications. For that, you need to use some form of Inter-Process Communication (IPC).

                                          A Offline
                                          A Offline
                                          Anonymous_Banned275
                                          wrote on last edited by Anonymous_Banned275
                                          #25

                                          @JKSH said in How to really use multiproject ?:

                                          @AnneRanch said in How to really use multiproject ?:
                                          // #define qApp (static_cast<QApplication *>(QCoreApplication::instance()))

                                          // the above "passes control to "qApp" which actually prints simple text dialog

                                          This is wrong. The above shows you definition of qApp. qApp simply gives you a pointer to your program's QApplication object.

                                          Here is one way to use the pointer:

                                          QApplication *myProgram = qApp;
                                          myProgram->quit();
                                          

                                          // can I use same scheme and in my case pass control to "btscanner" btscanner_App. ?

                                          *#define btscanner_App (static_cast<QApplication >(QCoreApplication::instance())) ???

                                          No.

                                          You cannot use a #define or a pointer to "link to" other standalone applications. For that, you need to use some form of Inter-Process Communication (IPC).

                                          The define functions/ works in MDI example and eventually "runs" (addAction) application "about Qt".

                                          I am trying to "trace" and understand "addAction" which seems to be similar to "connect" . BUT no UI ! I do not see why I cannot use same scheme to run my application - "btscanner" as "MDI" menu option.

                                          I am still working on linking SUDIRS "projects" as "applications".

                                          aboutQtAct =
                                          helpMenu->addAction(tr("About &Qt (orignal link to project About Qt ) "),
                                                              qApp, &QApplication::aboutQt);
                                          
                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved