[Interest] [interest] UITools - how to modify the GUI?

Tamás Nagy tamas.nagy.001 at gmail.com
Mon Apr 13 13:51:57 CEST 2015


Hallo,

I tried to access it through TabWidget, as written in a forum as
suggestion, but the problem is,
that it does not find the TabWidget at all. It returns always 0 for tabwidget.

 <widget class="QWidget" name="centralWidget">
   <widget class="QTabWidget" name="TabWidget">
    <property name="geometry">
     <rect>
      <x>0</x>
      <y>40</y>
      <width>1024</width>
      <height>768</height>
     </rect>
    </property>
    <property name="currentIndex">
     <number>0</number>
    </property>
    <widget class="QWidget" name="tab">
     <attribute name="title">
      <string>Betriebsmenu</string>
     </attribute>

-------------------------------------------------------------------------

QTabWidget * tabwidget = ui->findChild<QTabWidget*>("TabWidget",
Qt::FindChildrenRecursively);    // ALWAYS NULL ???
   if(tabwidget)
   if(tabwidget->currentWidget()) {
       QWidget * tab = tabwidget->currentWidget();

       if(tab) {
           QTextEdit * textedit2 =
tabwidget->currentWidget()->findChild<QTextEdit*>("textEdit",
Qt::FindChildrenRecursively);

           if(textedit2) {
               textedit2->setText("TEST writing...\n");
               textedit2->update();

               ui->update();
           }

           QString name = "textEdit_2";
           if(tab->findChild<QTextEdit*>(name, Qt::FindChildrenRecursively))
           {

               QTextEdit * textedit =
tabwidget->currentWidget()->findChild<QTextEdit*>(name,
Qt::FindChildrenRecursively);

               if(textedit)
                   textedit->append("TEST writing...\n");
           }

Tamas

2015-04-13 10:06 GMT+02:00 Tamás Nagy <tamas.nagy.001 at gmail.com>:
> Hi,
>
> How can be path bad? textEdit is in the centralWidget.
> I can access it from the "ui", but not from the loaded "ui",
> that is loaded with UILoader. I tried to call refresh() on it.
> I can find and access any other GUI elements with
> UILoader, but I cannot modify them. What can be wrong?
>
>  <widget class="QTextEdit" name="textEdit">
>       <property name="geometry">
>        <rect>
>         <x>10</x>
>         <y>400</y>
>         <width>791</width>
>         <height>141</height>
>        </rect>
>       </property>
>       <property name="accessibleName">
>        <string notr="true"/>
>       </property>
>      </widget>
>     </widget>
>
>  QString name = "textEdit";
>            if(ui->findChild<QTextEdit*>(name, Qt::FindChildrenRecursively))
>            {
>
>                 QTextEdit * textedit = ui->findChild<QTextEdit*>(name,
> Qt::FindChildrenRecursively);
>
>                 if(textedit)
>                     textedit->append("TEST writing...\n");
>            }
>
> Tamas
>
>
> 2015-04-10 16:56 GMT+02:00 Alejandro Exojo <suy at badopi.org>:
>> El Friday 10 April 2015, Tamás Nagy escribió:
>>> // it always returns 0, no idea why. I have a textEdit with this name:
>>> textEdit. QTextEdit * textedit2 = ui->findChild<QTextEdit*>("textEdit",
>>
>> Try:  ui->dumpObjectTree()  to see what was actually loaded as children of
>> that object, just in case there is some typo in the object name.
>>
>> Otherwise, try to read the file yourself (just to print to the output the
>> contents, to prove is readable). It could be a simple path name error.
>>
>> --
>> Alex (a.k.a. suy) | GPG ID 0x0B8B0BC2
>> http://barnacity.net/ | http://disperso.net
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest



More information about the Interest mailing list