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. Ui, finding control by using literal string
Forum Updated to NodeBB v4.3 + New Features

Ui, finding control by using literal string

Scheduled Pinned Locked Moved Solved General and Desktop
13 Posts 3 Posters 630 Views 1 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.
  • J jsulm
    22 Oct 2021, 09:35

    @SPlatten said in Ui, finding control by using literal string:

    these have been named with an index after each name, e.g. lblT0, lblT1, lblT2 etc.

    Do you mean variable names or objectName?
    https://doc.qt.io/qt-5/qobject.html#findChildren

    S Offline
    S Offline
    SPlatten
    wrote on 22 Oct 2021, 09:37 last edited by
    #3

    @jsulm , I want to address by objectName, so for example, something like:

    QProgressBar* pBar(ui->find("name"));
    pBar->setValue(123);
    

    Kind Regards,
    Sy

    J 1 Reply Last reply 22 Oct 2021, 09:38
    0
    • S SPlatten
      22 Oct 2021, 09:37

      @jsulm , I want to address by objectName, so for example, something like:

      QProgressBar* pBar(ui->find("name"));
      pBar->setValue(123);
      
      J Offline
      J Offline
      jsulm
      Lifetime Qt Champion
      wrote on 22 Oct 2021, 09:38 last edited by
      #4

      @SPlatten Isn't https://doc.qt.io/qt-5/qobject.html#findChildren what you need?

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

      S 1 Reply Last reply 22 Oct 2021, 09:40
      1
      • J jsulm
        22 Oct 2021, 09:38

        @SPlatten Isn't https://doc.qt.io/qt-5/qobject.html#findChildren what you need?

        S Offline
        S Offline
        SPlatten
        wrote on 22 Oct 2021, 09:40 last edited by
        #5

        @jsulm , thank you, if I have the ui pointer how do I use this with findChildren ?

        Kind Regards,
        Sy

        J 1 Reply Last reply 22 Oct 2021, 09:42
        0
        • J Offline
          J Offline
          J.Hilk
          Moderators
          wrote on 22 Oct 2021, 09:41 last edited by
          #6

          just an annotation, if you call findChildren on your root element of your Ui it will be a very slow function call, as it recursively goes through all the children!

          Either accept that, narrow the search down, by wisely selection the QObject to search on or, what I prefer, store the objects in a member list/vector/array


          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.

          1 Reply Last reply
          1
          • S SPlatten
            22 Oct 2021, 09:40

            @jsulm , thank you, if I have the ui pointer how do I use this with findChildren ?

            J Offline
            J Offline
            jsulm
            Lifetime Qt Champion
            wrote on 22 Oct 2021, 09:42 last edited by
            #7

            @SPlatten You pass the pointer to the parent widget which contains the widgets you want to search...

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

            S 1 Reply Last reply 22 Oct 2021, 09:43
            0
            • J jsulm
              22 Oct 2021, 09:42

              @SPlatten You pass the pointer to the parent widget which contains the widgets you want to search...

              S Offline
              S Offline
              SPlatten
              wrote on 22 Oct 2021, 09:43 last edited by SPlatten
              #8

              @jsulm , I have a layout that contains all the controls, can I use that to speed up the search?

              @J-Hilk , @jsulm , thank you, have added:

              ui->pvtloTrainees->findChild("...");
              

              Kind Regards,
              Sy

              J 1 Reply Last reply 22 Oct 2021, 09:44
              0
              • S SPlatten
                22 Oct 2021, 09:43

                @jsulm , I have a layout that contains all the controls, can I use that to speed up the search?

                @J-Hilk , @jsulm , thank you, have added:

                ui->pvtloTrainees->findChild("...");
                
                J Offline
                J Offline
                jsulm
                Lifetime Qt Champion
                wrote on 22 Oct 2021, 09:44 last edited by jsulm
                #9

                @SPlatten Layout cannot be parent of a widget...
                Simply use the widget containing this layout and the child widgets...

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

                S 1 Reply Last reply 22 Oct 2021, 11:41
                0
                • J jsulm
                  22 Oct 2021, 09:44

                  @SPlatten Layout cannot be parent of a widget...
                  Simply use the widget containing this layout and the child widgets...

                  S Offline
                  S Offline
                  SPlatten
                  wrote on 22 Oct 2021, 11:41 last edited by
                  #10

                  @jsulm , on my form I have a layout QVBoxLayout it has the name pvtloTrainees, this layout has lots of children, here is the UI:

                  <?xml version="1.0" encoding="UTF-8"?>
                  <ui version="4.0">
                  <class>SendRDF</class>
                  <widget class="QMainWindow" name="SendRDF">
                    <property name="windowModality">
                     <enum>Qt::ApplicationModal</enum>
                    </property>
                    <property name="geometry">
                     <rect>
                      <x>0</x>
                      <y>0</y>
                      <width>620</width>
                      <height>681</height>
                     </rect>
                    </property>
                    <property name="minimumSize">
                     <size>
                      <width>492</width>
                      <height>108</height>
                     </size>
                    </property>
                    <property name="styleSheet">
                     <string notr="true">QMainWindow{border:2px solid black;}</string>
                    </property>
                    <widget class="QWidget" name="centralWidget">
                     <property name="sizePolicy">
                      <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
                       <horstretch>0</horstretch>
                       <verstretch>0</verstretch>
                      </sizepolicy>
                     </property>
                     <layout class="QGridLayout" name="gridLayout">
                      <item row="0" column="0">
                       <widget class="QLabel" name="label">
                        <property name="text">
                         <string>RDF file:</string>
                        </property>
                        <property name="alignment">
                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                        </property>
                       </widget>
                     </item>
                      <item row="0" column="1" colspan="3">
                       <widget class="QLabel" name="plblFilename">
                        <property name="text">
                         <string>Device, path and filename</string>
                        </property>
                       </widget>
                      </item>
                      <item row="1" column="0">
                       <widget class="QLabel" name="label_2">
                        <property name="text">
                         <string>File size:</string>
                        </property>
                        <property name="alignment">
                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                        </property>
                       </widget>
                      </item>
                      <item row="1" column="1">
                       <widget class="QLabel" name="plblFilesize">
                        <property name="contextMenuPolicy">
                         <enum>Qt::NoContextMenu</enum>
                        </property>
                        <property name="text">
                         <string>##########</string>
                        </property>
                        <property name="alignment">
                         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                        </property>
                       </widget>
                      </item>
                      <item row="1" column="2" colspan="3">
                       <spacer name="horizontalSpacer">
                        <property name="orientation">
                         <enum>Qt::Horizontal</enum>
                        </property>
                        <property name="sizeHint" stdset="0">
                         <size>
                          <width>40</width>
                          <height>20</height>
                         </size>
                        </property>
                       </spacer>
                      </item>
                      <item row="1" column="5">
                       <widget class="QLabel" name="label_5">
                        <property name="text">
                         <string>Elapsed:</string>
                        </property>
                       </widget>
                      </item>
                      <item row="1" column="6">
                       <widget class="QLabel" name="plblElapsed">
                        <property name="text">
                         <string>##:##:##.###</string>
                        </property>
                       </widget>
                      </item>
                      <item row="2" column="0" colspan="7">
                       <widget class="QGroupBox" name="pgrpTrainees">
                        <property name="sizePolicy">
                         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                          <horstretch>1</horstretch>
                          <verstretch>1</verstretch>
                         </sizepolicy>
                        </property>
                        <property name="title">
                         <string/>
                        </property>
                        <property name="flat">
                         <bool>true</bool>
                        </property>
                        <widget class="QWidget" name="verticalLayoutWidget">
                         <property name="geometry">
                          <rect>
                           <x>0</x>
                           <y>0</y>
                           <width>600</width>
                           <height>585</height>
                          </rect>
                         </property>
                         <layout class="QVBoxLayout" name="pvtloTrainees">
                          <item>
                           <layout class="QVBoxLayout" name="pvbloT0">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT0">
                              <item>
                               <widget class="QLabel" name="plblT0">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN0">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT0">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks0">
                                <property name="text">
                                 <string>Blocks:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB0">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QLabel" name="plblTE0">
                              <property name="sizePolicy">
                               <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                <horstretch>0</horstretch>
                                <verstretch>0</verstretch>
                               </sizepolicy>
                              </property>
                              <property name="layoutDirection">
                               <enum>Qt::LeftToRight</enum>
                              </property>
                              <property name="styleSheet">
                               <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                              </property>
                              <property name="text">
                               <string/>
                              </property>
                              <property name="textFormat">
                               <enum>Qt::AutoText</enum>
                              </property>
                              <property name="alignment">
                               <set>Qt::AlignCenter</set>
                              </property>
                             </widget>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT0">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                          <item>
                           <layout class="QVBoxLayout" name="pvbloT1">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT1">
                              <item>
                               <widget class="QLabel" name="plblT1">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN1">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT1">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks1">
                                <property name="text">
                                 <string>Blocks:</string>
                               </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB1">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QLabel" name="plblTE1">
                              <property name="sizePolicy">
                               <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                <horstretch>0</horstretch>
                                <verstretch>0</verstretch>
                               </sizepolicy>
                              </property>
                              <property name="layoutDirection">
                               <enum>Qt::LeftToRight</enum>
                              </property>
                              <property name="styleSheet">
                               <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                              </property>
                              <property name="text">
                               <string/>
                              </property>
                              <property name="textFormat">
                               <enum>Qt::AutoText</enum>
                              </property>
                              <property name="alignment">
                               <set>Qt::AlignCenter</set>
                              </property>
                             </widget>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT1">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                          <item>
                          <layout class="QVBoxLayout" name="pvbloT2">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT2">
                              <item>
                               <widget class="QLabel" name="plblT2">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN2">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT2">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks2">
                                <property name="text">
                                 <string>Blocks:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB2">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QLabel" name="plblTE2">
                              <property name="sizePolicy">
                               <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                <horstretch>0</horstretch>
                                <verstretch>0</verstretch>
                               </sizepolicy>
                              </property>
                              <property name="layoutDirection">
                               <enum>Qt::LeftToRight</enum>
                              </property>
                              <property name="styleSheet">
                               <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                              </property>
                              <property name="text">
                               <string/>
                              </property>
                              <property name="textFormat">
                               <enum>Qt::AutoText</enum>
                              </property>
                              <property name="alignment">
                               <set>Qt::AlignCenter</set>
                              </property>
                             </widget>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT2">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                          <item>
                           <layout class="QVBoxLayout" name="pvbloT3">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT3">
                              <item>
                               <widget class="QLabel" name="plblT3">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN3">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT3">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks3">
                                <property name="text">
                                 <string>Blocks:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB3">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT3">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                          <item>
                           <layout class="QVBoxLayout" name="pvbloT4">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT4">
                              <item>
                               <widget class="QLabel" name="plblT4">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN4">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT4">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks4">
                                <property name="text">
                                 <string>Blocks:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB4">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QLabel" name="plblTE4">
                              <property name="sizePolicy">
                               <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                <horstretch>0</horstretch>
                                <verstretch>0</verstretch>
                               </sizepolicy>
                              </property>
                              <property name="layoutDirection">
                               <enum>Qt::LeftToRight</enum>
                              </property>
                              <property name="styleSheet">
                               <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                              </property>
                              <property name="text">
                               <string/>
                              </property>
                              <property name="textFormat">
                               <enum>Qt::AutoText</enum>
                              </property>
                              <property name="alignment">
                               <set>Qt::AlignCenter</set>
                              </property>
                             </widget>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT4">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                          <item>
                           <layout class="QVBoxLayout" name="pvbloT5">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT5">
                              <item>
                               <widget class="QLabel" name="plblT5">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                               <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                               <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN5">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT5">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks5">
                                <property name="text">
                                 <string>Blocks:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB5">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QLabel" name="plblTE5">
                              <property name="sizePolicy">
                               <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                <horstretch>0</horstretch>
                                <verstretch>0</verstretch>
                               </sizepolicy>
                              </property>
                              <property name="layoutDirection">
                               <enum>Qt::LeftToRight</enum>
                              </property>
                              <property name="styleSheet">
                               <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                              </property>
                              <property name="text">
                               <string/>
                              </property>
                              <property name="textFormat">
                               <enum>Qt::AutoText</enum>
                              </property>
                              <property name="alignment">
                               <set>Qt::AlignCenter</set>
                              </property>
                             </widget>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT5">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                          <item>
                           <layout class="QVBoxLayout" name="pvbloT6">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT6">
                              <item>
                               <widget class="QLabel" name="plblT6">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN6">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT6">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks6">
                                <property name="text">
                                 <string>Blocks:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB6">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QLabel" name="plblTE6">
                              <property name="sizePolicy">
                               <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                <horstretch>0</horstretch>
                                <verstretch>0</verstretch>
                               </sizepolicy>
                              </property>
                              <property name="layoutDirection">
                               <enum>Qt::LeftToRight</enum>
                              </property>
                              <property name="styleSheet">
                               <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                              </property>
                              <property name="text">
                               <string/>
                              </property>
                              <property name="textFormat">
                               <enum>Qt::AutoText</enum>
                              </property>
                              <property name="alignment">
                               <set>Qt::AlignCenter</set>
                              </property>
                             </widget>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT6">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                          <item>
                           <layout class="QVBoxLayout" name="pvbloT7">
                            <item>
                             <layout class="QHBoxLayout" name="phzloT7">
                              <item>
                               <widget class="QLabel" name="plblT7">
                                <property name="enabled">
                                 <bool>true</bool>
                                </property>
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                 <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true"/>
                                </property>
                                <property name="text">
                                 <string>Trainee:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTN7">
                                <property name="text">
                                 <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <spacer name="sprT7">
                                <property name="orientation">
                                 <enum>Qt::Horizontal</enum>
                                </property>
                                <property name="sizeHint" stdset="0">
                                 <size>
                                  <width>40</width>
                                  <height>20</height>
                                 </size>
                                </property>
                               </spacer>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTBlocks7">
                                <property name="text">
                                 <string>Blocks:</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTB7">
                                <property name="text">
                                 <string>#######</string>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <widget class="QLabel" name="plblTE7">
                              <property name="sizePolicy">
                               <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                <horstretch>0</horstretch>
                                <verstretch>0</verstretch>
                               </sizepolicy>
                              </property>
                              <property name="layoutDirection">
                              <enum>Qt::LeftToRight</enum>
                              </property>
                              <property name="styleSheet">
                               <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                              </property>
                              <property name="text">
                               <string/>
                              </property>
                              <property name="textFormat">
                               <enum>Qt::AutoText</enum>
                              </property>
                              <property name="alignment">
                               <set>Qt::AlignCenter</set>
                              </property>
                             </widget>
                            </item>
                            <item>
                             <widget class="QProgressBar" name="ppgbT7">
                              <property name="value">
                               <number>0</number>
                              </property>
                             </widget>
                            </item>
                           </layout>
                          </item>
                         </layout>
                        </widget>
                       </widget>
                      </item>
                      <item row="4" column="6">
                       <widget class="QPushButton" name="pbtnAbort">
                        <property name="minimumSize">
                         <size>
                          <width>80</width>
                          <height>24</height>
                         </size>
                        </property>
                        <property name="text">
                         <string>&amp;Abort</string>
                        </property>
                       </widget>
                      </item>
                     </layout>
                    </widget>
                  </widget>
                  <resources/>
                  <connections/>
                  </ui>
                  

                  I am trying to locate a widget that is a child of this layout with:

                  QWidget* pobjFound(mpui->pvtloTrainees->findChild<QWidget*>(cstrCtrlKey));
                  

                  Where cstrCtrlKey is a string containing something like ppgbT0, but pobjFound is returned as 0x0 ?

                  Kind Regards,
                  Sy

                  J 1 Reply Last reply 22 Oct 2021, 11:48
                  0
                  • S SPlatten
                    22 Oct 2021, 11:41

                    @jsulm , on my form I have a layout QVBoxLayout it has the name pvtloTrainees, this layout has lots of children, here is the UI:

                    <?xml version="1.0" encoding="UTF-8"?>
                    <ui version="4.0">
                    <class>SendRDF</class>
                    <widget class="QMainWindow" name="SendRDF">
                      <property name="windowModality">
                       <enum>Qt::ApplicationModal</enum>
                      </property>
                      <property name="geometry">
                       <rect>
                        <x>0</x>
                        <y>0</y>
                        <width>620</width>
                        <height>681</height>
                       </rect>
                      </property>
                      <property name="minimumSize">
                       <size>
                        <width>492</width>
                        <height>108</height>
                       </size>
                      </property>
                      <property name="styleSheet">
                       <string notr="true">QMainWindow{border:2px solid black;}</string>
                      </property>
                      <widget class="QWidget" name="centralWidget">
                       <property name="sizePolicy">
                        <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
                         <horstretch>0</horstretch>
                         <verstretch>0</verstretch>
                        </sizepolicy>
                       </property>
                       <layout class="QGridLayout" name="gridLayout">
                        <item row="0" column="0">
                         <widget class="QLabel" name="label">
                          <property name="text">
                           <string>RDF file:</string>
                          </property>
                          <property name="alignment">
                           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                          </property>
                         </widget>
                       </item>
                        <item row="0" column="1" colspan="3">
                         <widget class="QLabel" name="plblFilename">
                          <property name="text">
                           <string>Device, path and filename</string>
                          </property>
                         </widget>
                        </item>
                        <item row="1" column="0">
                         <widget class="QLabel" name="label_2">
                          <property name="text">
                           <string>File size:</string>
                          </property>
                          <property name="alignment">
                           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                          </property>
                         </widget>
                        </item>
                        <item row="1" column="1">
                         <widget class="QLabel" name="plblFilesize">
                          <property name="contextMenuPolicy">
                           <enum>Qt::NoContextMenu</enum>
                          </property>
                          <property name="text">
                           <string>##########</string>
                          </property>
                          <property name="alignment">
                           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                          </property>
                         </widget>
                        </item>
                        <item row="1" column="2" colspan="3">
                         <spacer name="horizontalSpacer">
                          <property name="orientation">
                           <enum>Qt::Horizontal</enum>
                          </property>
                          <property name="sizeHint" stdset="0">
                           <size>
                            <width>40</width>
                            <height>20</height>
                           </size>
                          </property>
                         </spacer>
                        </item>
                        <item row="1" column="5">
                         <widget class="QLabel" name="label_5">
                          <property name="text">
                           <string>Elapsed:</string>
                          </property>
                         </widget>
                        </item>
                        <item row="1" column="6">
                         <widget class="QLabel" name="plblElapsed">
                          <property name="text">
                           <string>##:##:##.###</string>
                          </property>
                         </widget>
                        </item>
                        <item row="2" column="0" colspan="7">
                         <widget class="QGroupBox" name="pgrpTrainees">
                          <property name="sizePolicy">
                           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                            <horstretch>1</horstretch>
                            <verstretch>1</verstretch>
                           </sizepolicy>
                          </property>
                          <property name="title">
                           <string/>
                          </property>
                          <property name="flat">
                           <bool>true</bool>
                          </property>
                          <widget class="QWidget" name="verticalLayoutWidget">
                           <property name="geometry">
                            <rect>
                             <x>0</x>
                             <y>0</y>
                             <width>600</width>
                             <height>585</height>
                            </rect>
                           </property>
                           <layout class="QVBoxLayout" name="pvtloTrainees">
                            <item>
                             <layout class="QVBoxLayout" name="pvbloT0">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT0">
                                <item>
                                 <widget class="QLabel" name="plblT0">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                  <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                  <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN0">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT0">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks0">
                                  <property name="text">
                                   <string>Blocks:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB0">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTE0">
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="layoutDirection">
                                 <enum>Qt::LeftToRight</enum>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                                </property>
                                <property name="text">
                                 <string/>
                                </property>
                                <property name="textFormat">
                                 <enum>Qt::AutoText</enum>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT0">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <layout class="QVBoxLayout" name="pvbloT1">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT1">
                                <item>
                                 <widget class="QLabel" name="plblT1">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                  <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                  <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN1">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT1">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks1">
                                  <property name="text">
                                   <string>Blocks:</string>
                                 </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB1">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTE1">
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="layoutDirection">
                                 <enum>Qt::LeftToRight</enum>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                                </property>
                                <property name="text">
                                 <string/>
                                </property>
                                <property name="textFormat">
                                 <enum>Qt::AutoText</enum>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT1">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                            <layout class="QVBoxLayout" name="pvbloT2">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT2">
                                <item>
                                 <widget class="QLabel" name="plblT2">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                  <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                  <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN2">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT2">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks2">
                                  <property name="text">
                                   <string>Blocks:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB2">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTE2">
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="layoutDirection">
                                 <enum>Qt::LeftToRight</enum>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                                </property>
                                <property name="text">
                                 <string/>
                                </property>
                                <property name="textFormat">
                                 <enum>Qt::AutoText</enum>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT2">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <layout class="QVBoxLayout" name="pvbloT3">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT3">
                                <item>
                                 <widget class="QLabel" name="plblT3">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                  <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                  <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN3">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT3">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks3">
                                  <property name="text">
                                   <string>Blocks:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB3">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT3">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <layout class="QVBoxLayout" name="pvbloT4">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT4">
                                <item>
                                 <widget class="QLabel" name="plblT4">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                  <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                  <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN4">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT4">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks4">
                                  <property name="text">
                                   <string>Blocks:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB4">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTE4">
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="layoutDirection">
                                 <enum>Qt::LeftToRight</enum>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                                </property>
                                <property name="text">
                                 <string/>
                                </property>
                                <property name="textFormat">
                                 <enum>Qt::AutoText</enum>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT4">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <layout class="QVBoxLayout" name="pvbloT5">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT5">
                                <item>
                                 <widget class="QLabel" name="plblT5">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                 <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                 <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN5">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT5">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks5">
                                  <property name="text">
                                   <string>Blocks:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB5">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTE5">
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="layoutDirection">
                                 <enum>Qt::LeftToRight</enum>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                                </property>
                                <property name="text">
                                 <string/>
                                </property>
                                <property name="textFormat">
                                 <enum>Qt::AutoText</enum>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT5">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <layout class="QVBoxLayout" name="pvbloT6">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT6">
                                <item>
                                 <widget class="QLabel" name="plblT6">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                  <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                  <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN6">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT6">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks6">
                                  <property name="text">
                                   <string>Blocks:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB6">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTE6">
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="layoutDirection">
                                 <enum>Qt::LeftToRight</enum>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                                </property>
                                <property name="text">
                                 <string/>
                                </property>
                                <property name="textFormat">
                                 <enum>Qt::AutoText</enum>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT6">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                            <item>
                             <layout class="QVBoxLayout" name="pvbloT7">
                              <item>
                               <layout class="QHBoxLayout" name="phzloT7">
                                <item>
                                 <widget class="QLabel" name="plblT7">
                                  <property name="enabled">
                                   <bool>true</bool>
                                  </property>
                                  <property name="sizePolicy">
                                   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                   <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                   </sizepolicy>
                                  </property>
                                  <property name="styleSheet">
                                   <string notr="true"/>
                                  </property>
                                  <property name="text">
                                   <string>Trainee:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTN7">
                                  <property name="text">
                                   <string>ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <spacer name="sprT7">
                                  <property name="orientation">
                                   <enum>Qt::Horizontal</enum>
                                  </property>
                                  <property name="sizeHint" stdset="0">
                                   <size>
                                    <width>40</width>
                                    <height>20</height>
                                   </size>
                                  </property>
                                 </spacer>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTBlocks7">
                                  <property name="text">
                                   <string>Blocks:</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                                <item>
                                 <widget class="QLabel" name="plblTB7">
                                  <property name="text">
                                   <string>#######</string>
                                  </property>
                                  <property name="alignment">
                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
                                  </property>
                                 </widget>
                                </item>
                               </layout>
                              </item>
                              <item>
                               <widget class="QLabel" name="plblTE7">
                                <property name="sizePolicy">
                                 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
                                  <horstretch>0</horstretch>
                                  <verstretch>0</verstretch>
                                 </sizepolicy>
                                </property>
                                <property name="layoutDirection">
                                <enum>Qt::LeftToRight</enum>
                                </property>
                                <property name="styleSheet">
                                 <string notr="true">background-color:#ff0000;color:#ffff00;font-weight:bold;</string>
                                </property>
                                <property name="text">
                                 <string/>
                                </property>
                                <property name="textFormat">
                                 <enum>Qt::AutoText</enum>
                                </property>
                                <property name="alignment">
                                 <set>Qt::AlignCenter</set>
                                </property>
                               </widget>
                              </item>
                              <item>
                               <widget class="QProgressBar" name="ppgbT7">
                                <property name="value">
                                 <number>0</number>
                                </property>
                               </widget>
                              </item>
                             </layout>
                            </item>
                           </layout>
                          </widget>
                         </widget>
                        </item>
                        <item row="4" column="6">
                         <widget class="QPushButton" name="pbtnAbort">
                          <property name="minimumSize">
                           <size>
                            <width>80</width>
                            <height>24</height>
                           </size>
                          </property>
                          <property name="text">
                           <string>&amp;Abort</string>
                          </property>
                         </widget>
                        </item>
                       </layout>
                      </widget>
                    </widget>
                    <resources/>
                    <connections/>
                    </ui>
                    

                    I am trying to locate a widget that is a child of this layout with:

                    QWidget* pobjFound(mpui->pvtloTrainees->findChild<QWidget*>(cstrCtrlKey));
                    

                    Where cstrCtrlKey is a string containing something like ppgbT0, but pobjFound is returned as 0x0 ?

                    J Offline
                    J Offline
                    J.Hilk
                    Moderators
                    wrote on 22 Oct 2021, 11:48 last edited by
                    #11

                    @SPlatten as stated beforehand

                    Layout cannot be parent of a widget...

                    use <widget class="QWidget" name="verticalLayoutWidget">instead.


                    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.

                    S 1 Reply Last reply 22 Oct 2021, 11:51
                    0
                    • J J.Hilk
                      22 Oct 2021, 11:48

                      @SPlatten as stated beforehand

                      Layout cannot be parent of a widget...

                      use <widget class="QWidget" name="verticalLayoutWidget">instead.

                      S Offline
                      S Offline
                      SPlatten
                      wrote on 22 Oct 2021, 11:51 last edited by
                      #12

                      @J-Hilk , thank you, trying that now, why when you dereference the layout does it come up with the findChild suggestion as well as others, it compiles with no errors or warnings?

                      Kind Regards,
                      Sy

                      J 1 Reply Last reply 22 Oct 2021, 12:25
                      0
                      • S SPlatten
                        22 Oct 2021, 11:51

                        @J-Hilk , thank you, trying that now, why when you dereference the layout does it come up with the findChild suggestion as well as others, it compiles with no errors or warnings?

                        J Offline
                        J Offline
                        J.Hilk
                        Moderators
                        wrote on 22 Oct 2021, 12:25 last edited by
                        #13

                        @SPlatten because findChild is a function of QObject

                        However QWidgets based classes requiere a QWidget and not a QObject as a parent. Layouts are no QWidgets


                        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.

                        1 Reply Last reply
                        2

                        12/13

                        22 Oct 2021, 11:51

                        • Login

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