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 get Widget from UI file
Forum Updated to NodeBB v4.3 + New Features

How to get Widget from UI file

Scheduled Pinned Locked Moved Unsolved General and Desktop
19 Posts 5 Posters 2.2k 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.
  • SPlattenS SPlatten

    I have an existing TabWidget in a UI file, I want to get QWidget tabs from the file so I can manipulate them and add them to other classes.

    Can I use findChild passing the objectName assigned in the UI file ?

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

    @SPlatten I don't understand the question. Everything from UI file is accessed using ui->objectName
    What does "so I can manipulate them and add them to other classes" mean?

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

    SPlattenS 1 Reply Last reply
    0
    • jsulmJ jsulm

      @SPlatten I don't understand the question. Everything from UI file is accessed using ui->objectName
      What does "so I can manipulate them and add them to other classes" mean?

      SPlattenS Offline
      SPlattenS Offline
      SPlatten
      wrote on last edited by SPlatten
      #3

      @jsulm , I'm trying to implement a more elegant solution where the name and pointer return can be changed for validity. I will try your suggestion first.

      [Edit] The class TabWidget needs to get the tabs, how can I access the enclosing UI document from the TabWidget constructor ?

      Kind Regards,
      Sy

      JonBJ 1 Reply Last reply
      0
      • SPlattenS SPlatten

        @jsulm , I'm trying to implement a more elegant solution where the name and pointer return can be changed for validity. I will try your suggestion first.

        [Edit] The class TabWidget needs to get the tabs, how can I access the enclosing UI document from the TabWidget constructor ?

        JonBJ Offline
        JonBJ Offline
        JonB
        wrote on last edited by
        #4

        @SPlatten
        I'm not sure you can/I understand what you want. Whatever, the answer lies in looking in tabwidget.h and/or ui_tabwidget.h since those are the entire code.

        SPlattenS 1 Reply Last reply
        0
        • JonBJ JonB

          @SPlatten
          I'm not sure you can/I understand what you want. Whatever, the answer lies in looking in tabwidget.h and/or ui_tabwidget.h since those are the entire code.

          SPlattenS Offline
          SPlattenS Offline
          SPlatten
          wrote on last edited by
          #5

          @JonB , I'm just trying to meet a request, which something shown in the tab is in a fault state the tab itself should be shown in a red background. The existing UI has the tabs and controls, but I cannot get this to work with the existing tabs in the UI, if I create the tabs from scratch it works.

          Kind Regards,
          Sy

          J.HilkJ 1 Reply Last reply
          0
          • SPlattenS SPlatten

            @JonB , I'm just trying to meet a request, which something shown in the tab is in a fault state the tab itself should be shown in a red background. The existing UI has the tabs and controls, but I cannot get this to work with the existing tabs in the UI, if I create the tabs from scratch it works.

            J.HilkJ Offline
            J.HilkJ Offline
            J.Hilk
            Moderators
            wrote on last edited by J.Hilk
            #6

            @SPlatten have you considered checking the auto generated "ui_class.h"file and simply taking the c++ code of your tabs from there and than using that code to create them yourself?


            Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


            Q: What's that?
            A: It's blue light.
            Q: What does it do?
            A: It turns blue.

            SPlattenS 2 Replies Last reply
            0
            • J.HilkJ J.Hilk

              @SPlatten have you considered checking the auto generated "ui_class.h"file and simply taking the c++ code of your tabs from there and than using that code to create them yourself?

              SPlattenS Offline
              SPlattenS Offline
              SPlatten
              wrote on last edited by
              #7

              @J-Hilk , will take a look now.

              Kind Regards,
              Sy

              1 Reply Last reply
              0
              • J.HilkJ J.Hilk

                @SPlatten have you considered checking the auto generated "ui_class.h"file and simply taking the c++ code of your tabs from there and than using that code to create them yourself?

                SPlattenS Offline
                SPlattenS Offline
                SPlatten
                wrote on last edited by
                #8

                @J-Hilk , looking at the header ui_ws_status_page.h, this contains the class Ui_WsStatusPage which does have everything I need, however I've just searched the file system for Ui_WsStatusPage and there are no references to it, how to I use it?

                Kind Regards,
                Sy

                JonBJ 1 Reply Last reply
                0
                • SPlattenS SPlatten

                  @J-Hilk , looking at the header ui_ws_status_page.h, this contains the class Ui_WsStatusPage which does have everything I need, however I've just searched the file system for Ui_WsStatusPage and there are no references to it, how to I use it?

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by
                  #9

                  @SPlatten
                  Please just look (carefully) at the code. I said before

                  Whatever, the answer lies in looking in tabwidget.h and/or ui_tabwidget.h since those are the entire code.

                  If you don't follow put in breakpoints and step through, there is no magic and nothing external here.

                  SPlattenS 1 Reply Last reply
                  0
                  • JonBJ JonB

                    @SPlatten
                    Please just look (carefully) at the code. I said before

                    Whatever, the answer lies in looking in tabwidget.h and/or ui_tabwidget.h since those are the entire code.

                    If you don't follow put in breakpoints and step through, there is no magic and nothing external here.

                    SPlattenS Offline
                    SPlattenS Offline
                    SPlatten
                    wrote on last edited by
                    #10

                    @JonB , looking at the class as I said it does contain everything I need but I cannot find Ui_WsStatusPage (Class name) anywhere else in the file system or source code except in the header file itself.

                    Kind Regards,
                    Sy

                    JonBJ 1 Reply Last reply
                    0
                    • SPlattenS SPlatten

                      @JonB , looking at the class as I said it does contain everything I need but I cannot find Ui_WsStatusPage (Class name) anywhere else in the file system or source code except in the header file itself.

                      JonBJ Offline
                      JonBJ Offline
                      JonB
                      wrote on last edited by JonB
                      #11

                      @SPlatten
                      So put a breakpoint on its constructor, and on setupUi()..... If you are right, they will never be called and you can ignore all their code.

                      SPlattenS 1 Reply Last reply
                      0
                      • JonBJ JonB

                        @SPlatten
                        So put a breakpoint on its constructor, and on setupUi()..... If you are right, they will never be called and you can ignore all their code.

                        SPlattenS Offline
                        SPlattenS Offline
                        SPlatten
                        wrote on last edited by
                        #12

                        @JonB said in How to get Widget from UI file:

                        I wish I could, but the project is built with cmake, not in Qt Creator, I can only run it in the console.

                        Kind Regards,
                        Sy

                        JKSHJ JonBJ 2 Replies Last reply
                        0
                        • SPlattenS SPlatten

                          @JonB said in How to get Widget from UI file:

                          I wish I could, but the project is built with cmake, not in Qt Creator, I can only run it in the console.

                          JKSHJ Offline
                          JKSHJ Offline
                          JKSH
                          Moderators
                          wrote on last edited by
                          #13

                          @SPlatten said in How to get Widget from UI file:

                          I wish I could, but the project is built with cmake, not in Qt Creator, I can only run it in the console.

                          You can use Qt Creator to open a CMakeLists.txt project and run console applications.

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

                          1 Reply Last reply
                          1
                          • SPlattenS SPlatten

                            @JonB said in How to get Widget from UI file:

                            I wish I could, but the project is built with cmake, not in Qt Creator, I can only run it in the console.

                            JonBJ Offline
                            JonBJ Offline
                            JonB
                            wrote on last edited by
                            #14

                            @SPlatten
                            Then edit the code to put in a qDebug(), or a message box, or a print to file, or whatever....

                            Or, comment out that class, since you have said it is never used, and recompile.

                            SPlattenS 1 Reply Last reply
                            0
                            • JonBJ JonB

                              @SPlatten
                              Then edit the code to put in a qDebug(), or a message box, or a print to file, or whatever....

                              Or, comment out that class, since you have said it is never used, and recompile.

                              SPlattenS Offline
                              SPlattenS Offline
                              SPlatten
                              wrote on last edited by
                              #15

                              @JonB , can I edit the content of ui_ws_status_page.h and add to it?

                              Kind Regards,
                              Sy

                              jsulmJ 1 Reply Last reply
                              0
                              • SPlattenS SPlatten

                                @JonB , can I edit the content of ui_ws_status_page.h and add to it?

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

                                @SPlatten Your changes will be overridden next time this header file is generated

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

                                SPlattenS 1 Reply Last reply
                                1
                                • jsulmJ jsulm

                                  @SPlatten Your changes will be overridden next time this header file is generated

                                  SPlattenS Offline
                                  SPlattenS Offline
                                  SPlatten
                                  wrote on last edited by
                                  #17

                                  @jsulm , ok, so how can I fix the tabs in the UI to do what I want? I'm done this without the tabs in the UI but its to be a job to rip it all apart. Right now I need to call setTabBar after all the initialisation has completed with the tabs added, but I cannot all setTTabBar outside of the class as its a protected method.

                                  Kind Regards,
                                  Sy

                                  JonBJ 1 Reply Last reply
                                  0
                                  • SPlattenS SPlatten

                                    @jsulm , ok, so how can I fix the tabs in the UI to do what I want? I'm done this without the tabs in the UI but its to be a job to rip it all apart. Right now I need to call setTabBar after all the initialisation has completed with the tabs added, but I cannot all setTTabBar outside of the class as its a protected method.

                                    JonBJ Offline
                                    JonBJ Offline
                                    JonB
                                    wrote on last edited by
                                    #18

                                    @SPlatten
                                    Outside of what class? I really don't know your code. If you need to access a protected method then subclass and you can do what you like?

                                    SPlattenS 1 Reply Last reply
                                    0
                                    • JonBJ JonB

                                      @SPlatten
                                      Outside of what class? I really don't know your code. If you need to access a protected method then subclass and you can do what you like?

                                      SPlattenS Offline
                                      SPlattenS Offline
                                      SPlatten
                                      wrote on last edited by
                                      #19

                                      @JonB , its really not my code, I'm just trying to make it work and failing.

                                      Kind Regards,
                                      Sy

                                      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