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. Shared Library Dialog
Forum Updated to NodeBB v4.3 + New Features

Shared Library Dialog

Scheduled Pinned Locked Moved Unsolved General and Desktop
16 Posts 3 Posters 5.1k Views 2 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.
  • T Offline
    T Offline
    TigerBunny
    wrote on last edited by
    #1

    I am new to Qt, ... so new I'm not sure this is the place to ask questions. :-)

    I am evaluating Qt to see if it will work for our next project. A major requirement is to create "modules" for our application. In Windows we did this with .dll's, some of which contained resources.

    I'm not sure how to do this in Qt, but assuming something similar I attempted to create a library and add a dialog. The code contains the following:

    #include <QDialog>

    But this generates the error: "C1083: Cannot open include file: 'QDialog': No such file or directory"

    I'm not seeing any examples on how to do this or if this is even a reasonable approach in Qt. I would be happy to create "modules" in any manner Qt does it. In the end the goal is to share dialogs, resources, code, data,... etc. at runtime.

    Does Qt have this feature and if so, is there an example or documentation on how to do this?

    Thanks.

    kshegunovK 1 Reply Last reply
    0
    • T TigerBunny

      I am new to Qt, ... so new I'm not sure this is the place to ask questions. :-)

      I am evaluating Qt to see if it will work for our next project. A major requirement is to create "modules" for our application. In Windows we did this with .dll's, some of which contained resources.

      I'm not sure how to do this in Qt, but assuming something similar I attempted to create a library and add a dialog. The code contains the following:

      #include <QDialog>

      But this generates the error: "C1083: Cannot open include file: 'QDialog': No such file or directory"

      I'm not seeing any examples on how to do this or if this is even a reasonable approach in Qt. I would be happy to create "modules" in any manner Qt does it. In the end the goal is to share dialogs, resources, code, data,... etc. at runtime.

      Does Qt have this feature and if so, is there an example or documentation on how to do this?

      Thanks.

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

      @TigerBunny
      Hello,

      A major requirement is to create "modules" for our application. In Windows we did this with .dll's, some of which contained resources.

      If you mean to load those "modules" at runtime you'd want to research the plugins.

      But this generates the error: "C1083: Cannot open include file: 'QDialog': No such file or directory"

      Probably you have forgotten to add the QT += widgets line in your project file.

      Kind regards.

      Read and abide by the Qt Code of Conduct

      T 2 Replies Last reply
      0
      • kshegunovK kshegunov

        @TigerBunny
        Hello,

        A major requirement is to create "modules" for our application. In Windows we did this with .dll's, some of which contained resources.

        If you mean to load those "modules" at runtime you'd want to research the plugins.

        But this generates the error: "C1083: Cannot open include file: 'QDialog': No such file or directory"

        Probably you have forgotten to add the QT += widgets line in your project file.

        Kind regards.

        T Offline
        T Offline
        TigerBunny
        wrote on last edited by
        #3

        Hi @kshegunov

        I did add QT+= widgets, but it didn't change the error.

        #-------------------------------------------------

        Project created by QtCreator 2016-03-03T10:18:32

        #-------------------------------------------------

        QT -= gui
        QT += widgets

        TARGET = SharedLibTest
        TEMPLATE = lib

        DEFINES += SHAREDLIBTEST_LIBRARY

        SOURCES += sharedlibtest.cpp
        dialog.cpp

        HEADERS += sharedlibtest.h
        sharedlibtest_global.h
        dialog.h

        unix {
        target.path = /usr/lib
        INSTALLS += target
        }

        FORMS +=
        dialog.ui

        I have not researched "plugins". I heard the term and assumed it referred to adding functionality to the IDE. I'll take a look at that.

        ty.

        1 Reply Last reply
        0
        • kshegunovK kshegunov

          @TigerBunny
          Hello,

          A major requirement is to create "modules" for our application. In Windows we did this with .dll's, some of which contained resources.

          If you mean to load those "modules" at runtime you'd want to research the plugins.

          But this generates the error: "C1083: Cannot open include file: 'QDialog': No such file or directory"

          Probably you have forgotten to add the QT += widgets line in your project file.

          Kind regards.

          T Offline
          T Offline
          TigerBunny
          wrote on last edited by
          #4

          @kshegunov, I read the link. Are you sure "plugins" is what I want?

          I simply want to start seeing if Qt has the ability to be modular by loading a dialog inside an application where the dialog is replaceable without recompiling the application. Much like a resource .dll is in Windows.

          Do you know if there is an example of using "plugins" to load a dialog?

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

            hi
            please try/read this small sample
            http://doc.qt.io/qt-5/qtwidgets-tools-echoplugin-example.html

            Plugins can BOTH be to extend the qt. but same method/functionality can also be used to extend any Qt app.
            So its like with DLLS just more modern using interfaces.
            So it can easy be a modul for sharing Dialogs or what ever needed.

            T 1 Reply Last reply
            0
            • mrjjM mrjj

              hi
              please try/read this small sample
              http://doc.qt.io/qt-5/qtwidgets-tools-echoplugin-example.html

              Plugins can BOTH be to extend the qt. but same method/functionality can also be used to extend any Qt app.
              So its like with DLLS just more modern using interfaces.
              So it can easy be a modul for sharing Dialogs or what ever needed.

              T Offline
              T Offline
              TigerBunny
              wrote on last edited by
              #6

              @mrjj

              The example doesn't seem to show a dialog (or any other resource) inside a module. It appears to simply echo text back from a module without any resources to an application.

              Ideally I would like an example already done that demonstrates my goal. If there is none, the next choice would be a tutorial on how to do it.

              Failing all of that, documentation that will give me confidence this will work. I can work from there to create my own example.

              I would very much appreciate a full example.

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

                Ok. I know no samples that pops a dialog.
                The other examples are about expanding the host application.
                http://doc.qt.io/qt-5/qtwidgets-tools-plugandpaint-example.html

                So im afraid u must keep looking.

                1 Reply Last reply
                0
                • T TigerBunny

                  @mrjj

                  The example doesn't seem to show a dialog (or any other resource) inside a module. It appears to simply echo text back from a module without any resources to an application.

                  Ideally I would like an example already done that demonstrates my goal. If there is none, the next choice would be a tutorial on how to do it.

                  Failing all of that, documentation that will give me confidence this will work. I can work from there to create my own example.

                  I would very much appreciate a full example.

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

                  @TigerBunny
                  Hi
                  I was bored. so I modified echo sample to open dialog
                  https://www.dropbox.com/s/qzunmovatpbmmai/withdialog.zip?dl=0
                  dialog lives in plugin.
                  note the UI file is the resource.

                  T 1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @TigerBunny
                    Hi
                    I was bored. so I modified echo sample to open dialog
                    https://www.dropbox.com/s/qzunmovatpbmmai/withdialog.zip?dl=0
                    dialog lives in plugin.
                    note the UI file is the resource.

                    T Offline
                    T Offline
                    TigerBunny
                    wrote on last edited by
                    #9

                    @mrjj, I don't see a UI file. All I get is an error message. Also, there is only 1 project.

                    I would expect an example to have 2 projects. One that creates the plugin with the dialog, the other an application that uses it. Are my expectations not correct?

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

                      ok let me check zip. there should be 2 folders. did u unzip correctly?

                      1 Reply Last reply
                      0
                      • T TigerBunny

                        @mrjj, I don't see a UI file. All I get is an error message. Also, there is only 1 project.

                        I would expect an example to have 2 projects. One that creates the plugin with the dialog, the other an application that uses it. Are my expectations not correct?

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

                        @TigerBunny
                        hi
                        for me all is in zip ?
                        http://postimg.org/image/hbjkgv7vt/

                        including the UI file. in the plugin folder

                        Make sure you unzip it all. do not click inside the zip file.
                        extract all first.

                        T 1 Reply Last reply
                        0
                        • mrjjM mrjj

                          @TigerBunny
                          hi
                          for me all is in zip ?
                          http://postimg.org/image/hbjkgv7vt/

                          including the UI file. in the plugin folder

                          Make sure you unzip it all. do not click inside the zip file.
                          extract all first.

                          T Offline
                          T Offline
                          TigerBunny
                          wrote on last edited by
                          #12

                          @mrjj ,

                          I must have used the wrong extraction procedure. I'm not up on Windows compression, my mistake.

                          I'll take a look. This looks much better. Thanks.

                          mrjjM 1 Reply Last reply
                          0
                          • T TigerBunny

                            @mrjj ,

                            I must have used the wrong extraction procedure. I'm not up on Windows compression, my mistake.

                            I'll take a look. This looks much better. Thanks.

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

                            @TigerBunny
                            well windows native zip handling, does "help" one by sort of showing like a folder. :)
                            Note. to add dialog to sample was very little.
                            Just add Dialog via FIle->New and then add include to plugin and change
                            interface function to show ( exec) dialog.

                            T 1 Reply Last reply
                            0
                            • mrjjM mrjj

                              @TigerBunny
                              well windows native zip handling, does "help" one by sort of showing like a folder. :)
                              Note. to add dialog to sample was very little.
                              Just add Dialog via FIle->New and then add include to plugin and change
                              interface function to show ( exec) dialog.

                              T Offline
                              T Offline
                              TigerBunny
                              wrote on last edited by
                              #14

                              @mrjj

                              This works, but I can't find the output file. I assume there is something like a .dll this produces. How do I find it and what would it be called?

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

                                yes its a DLL
                                for me its in
                                E:\build-echoplugin-Desktop_Qt_5_5_0_MinGW_32bit-Debug\plugins

                                The PRO file alters the destination.
                                Its so the main program can find it.

                                look for echoplugind.dll

                                it might also copy to
                                $$[QT_INSTALL_EXAMPLES]/widgets/tools/echoplugin/plugin

                                kshegunovK 1 Reply Last reply
                                0
                                • mrjjM mrjj

                                  yes its a DLL
                                  for me its in
                                  E:\build-echoplugin-Desktop_Qt_5_5_0_MinGW_32bit-Debug\plugins

                                  The PRO file alters the destination.
                                  Its so the main program can find it.

                                  look for echoplugind.dll

                                  it might also copy to
                                  $$[QT_INSTALL_EXAMPLES]/widgets/tools/echoplugin/plugin

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

                                  @TigerBunny
                                  It seems @mrjj beat me to it. This thread, however, could also be useful for you.

                                  Read and abide by the Qt Code of Conduct

                                  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