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 access Qt GUI from an library using qt designer form
Forum Updated to NodeBB v4.3 + New Features

How to access Qt GUI from an library using qt designer form

Scheduled Pinned Locked Moved Unsolved General and Desktop
shared libraryqt designer
29 Posts 5 Posters 11.3k Views 3 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.
  • mrjjM mrjj

    Hi
    That means it want the include file

    #include "dialog.h"
    in same cpp file where u have
    void show_dialog1( )

    S Offline
    S Offline
    Srujan
    wrote on last edited by
    #6

    @mrjj already made that update by referring from this link that you have answered earlier..
    https://forum.qt.io/topic/58057/solved-invalid-use-of-incomplete-type-class-ui-mainwindow
    Still getting same error...

    mrjjM 1 Reply Last reply
    0
    • S Srujan

      @mrjj already made that update by referring from this link that you have answered earlier..
      https://forum.qt.io/topic/58057/solved-invalid-use-of-incomplete-type-class-ui-mainwindow
      Still getting same error...

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #7

      @Srujan
      ok. then something is really wrong :)

      Just to be 1000% sure. it still say same error if u do :

      void show_dialog1( )
      {
      Dialog *uiTestDlg = new Dialog();
      uiTestDlg->show();
      }

      and then
      Build->clean all
      Build->qmake
      Build->Rebuild all.

      S 1 Reply Last reply
      0
      • mrjjM mrjj

        @Srujan
        ok. then something is really wrong :)

        Just to be 1000% sure. it still say same error if u do :

        void show_dialog1( )
        {
        Dialog *uiTestDlg = new Dialog();
        uiTestDlg->show();
        }

        and then
        Build->clean all
        Build->qmake
        Build->Rebuild all.

        S Offline
        S Offline
        Srujan
        wrote on last edited by
        #8

        @mrjj
        Able to build, but when trying to access from app its again getting crash..
        And in console its showing error like "QWidget: Must construct a QApplication before a QWidget"

        1 Reply Last reply
        0
        • mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #9

          "QWidget: Must construct a QApplication before a QWidget"

          That often comes from Global variables. Like in main.cpp

          And as much as i wish, i cannot guess the reason for crash :)

          Please show main.cpp.

          S 1 Reply Last reply
          0
          • mrjjM mrjj

            "QWidget: Must construct a QApplication before a QWidget"

            That often comes from Global variables. Like in main.cpp

            And as much as i wish, i cannot guess the reason for crash :)

            Please show main.cpp.

            S Offline
            S Offline
            Srujan
            wrote on last edited by
            #10

            @mrjj
            Actually in our case we are using some standard applications like cryptokimanager e.t.c..

            mrjjM 1 Reply Last reply
            0
            • S Srujan

              @mrjj
              Actually in our case we are using some standard applications like cryptokimanager e.t.c..

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #11

              @Srujan said in how to access Qt GUI from an library using qt designer form:

              @mrjj
              Actually in our case we are using some standard applications like cryptokimanager e.t.c..

              Meaning that there should not be any globals variables?
              Try google
              "QWidget: Must construct a QApplication before a QWidget"
              and you see there are various reason for this message.

              Most often the use of "extern" or static variables.

              S 1 Reply Last reply
              0
              • mrjjM mrjj

                @Srujan said in how to access Qt GUI from an library using qt designer form:

                @mrjj
                Actually in our case we are using some standard applications like cryptokimanager e.t.c..

                Meaning that there should not be any globals variables?
                Try google
                "QWidget: Must construct a QApplication before a QWidget"
                and you see there are various reason for this message.

                Most often the use of "extern" or static variables.

                S Offline
                S Offline
                Srujan
                wrote on last edited by
                #12

                @mrjj
                Through normal application I am able to invoke QT GUI part.
                Here my application code..

                //
                //main.cpp
                //
                #include <QCoreApplication>
                #include"helper.h"
                #include <QtWidgets/QApplication>
                
                int main(int argc, char *argv[])
                {
                    QApplication a(argc, argv); // previously its like QCoreApplication
                
                    show_dialog1( );
                
                    return a.exec();
                }
                
                //changes in .pro file
                QT       += gui
                
                greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
                

                After these changes in application project, able to invoke GUI part in shared library

                But through our standard applications not able to invoke.

                Any idea-
                That what changes required for such applications....!!

                Any way thanks for your support....

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

                  Hi,

                  What are your "standard application" ?

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

                  S 1 Reply Last reply
                  2
                  • SGaistS SGaist

                    Hi,

                    What are your "standard application" ?

                    S Offline
                    S Offline
                    Srujan
                    wrote on last edited by
                    #14

                    @SGaist
                    Its "cryptokimanager"

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

                      Let me rephrase that: what toolkit does it use ?

                      Is it already using Qt ?

                      Are you building that app yourself or are you writing a plugin for it and have no access to its internals ?

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

                      S 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        Let me rephrase that: what toolkit does it use ?

                        Is it already using Qt ?

                        Are you building that app yourself or are you writing a plugin for it and have no access to its internals ?

                        S Offline
                        S Offline
                        Srujan
                        wrote on last edited by Srujan
                        #16

                        @SGaist
                        Its a tool for managing and validating a pkcs#11 module..
                        For more info please refer Cryptoki manager

                        1 Reply Last reply
                        0
                        • VRoninV Offline
                          VRoninV Offline
                          VRonin
                          wrote on last edited by
                          #17

                          Can you post your code from which you call show_dialog1( ); ?

                          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                          ~Napoleon Bonaparte

                          On a crusade to banish setIndexWidget() from the holy land of Qt

                          S 1 Reply Last reply
                          1
                          • VRoninV VRonin

                            Can you post your code from which you call show_dialog1( ); ?

                            S Offline
                            S Offline
                            Srujan
                            wrote on last edited by
                            #18

                            @VRonin
                            simply I have called 'show_dialog1();' from one of exported functions in shared library..

                            1 Reply Last reply
                            0
                            • VRoninV Offline
                              VRoninV Offline
                              VRonin
                              wrote on last edited by VRonin
                              #19

                              I suspect you are not creating the application. try Q_ASSERT(QCoreApplication::instance()); if it asserts (i.e. instance() returns NULL) then it means you simply forgot to crate the QApplication before creating any QWidget

                              "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                              ~Napoleon Bonaparte

                              On a crusade to banish setIndexWidget() from the holy land of Qt

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

                                The question you are not answering is: are you working on that software code source directly ?

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

                                S 1 Reply Last reply
                                1
                                • SGaistS SGaist

                                  The question you are not answering is: are you working on that software code source directly ?

                                  S Offline
                                  S Offline
                                  Srujan
                                  wrote on last edited by
                                  #21

                                  @SGaist
                                  yes

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

                                    Ok, then are you converting it to a full-blown Qt application ?

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

                                    S 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      Ok, then are you converting it to a full-blown Qt application ?

                                      S Offline
                                      S Offline
                                      Srujan
                                      wrote on last edited by
                                      #23

                                      @SGaist
                                      If you are talking about- Cryptoki manager then i am not working on that application. I working on the library that is used to test with cryptokimanager(thrid party standard application).
                                      As specified earlier, in my library there is a need of dialog part.

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

                                        So you are going to call the Cryptoki manager application from your code ?

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

                                        S 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          So you are going to call the Cryptoki manager application from your code ?

                                          S Offline
                                          S Offline
                                          Srujan
                                          wrote on last edited by
                                          #25

                                          @SGaist
                                          yes

                                          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