Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. India
  4. Loading ui at runtime
Servers for Qt installer are currently down

Loading ui at runtime

Scheduled Pinned Locked Moved India
19 Posts 2 Posters 11.5k 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.
  • H Offline
    H Offline
    hema
    wrote on 26 Aug 2013, 08:24 last edited by
    #1

    hi ,

    I am using qt 4.8.2 build on mingw on linux .
    I have problem loading ui file at run time .I have added ui form to resource file .I get segmentation fault. the following error is displayed
    Designer: An error has occurred while reading the UI file at line 1, column 0: Premature end of document.

    the following is the code

    QUiLoader loader;

    QFile file(":/forms/selectiondialog.ui");
    file.open(QFile::ReadOnly);
    
    QWidget *formWidget = loader.load(&file); // getting segmentation fault 
    file.close();
    

    thanks,
    hema

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 26 Aug 2013, 08:47 last edited by
      #2

      Hi and welcome to devnet,

      Are you sure that selectiondialog.ui is found ?

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

      1 Reply Last reply
      0
      • H Offline
        H Offline
        hema
        wrote on 26 Aug 2013, 10:00 last edited by
        #3

        the following is the error is what i am getting

        "<?xml version="1.0" encoding="UTF-8"?>
        <ui version="4.0">
        <class>Dialog</class>
        <widget class="QDialog" name="Dialog">
        <property name="geometry">
        <rect>
        <x>0</x>
        <y>0</y>
        <width>322</width>
        <height>189</height>
        </rect>
        </property>
        <property name="windowTitle">
        <string>Dialog</string>
        </property>
        <layout class="QGridLayout" name="gridLayout_2">
        <item row="0" column="0" colspan="3">
        <layout class="QGridLayout" name="gridLayout">
        <item row="0" column="0">
        <widget class="QLabel" name="lbl_First">
        <property name="text">
        <string/>
        </property>
        </widget>
        </item>
        <item row="0" column="1">
        <widget class="QLabel" name="lbl_Second">
        <property name="text">
        <string/>
        </property>
        </widget>
        </item>
        <item row="1" column="0">
        <widget class="QListWidget" name="listWidget_Initial"/>
        </item>
        <item row="1" column="1">
        <widget class="QListWidget" name="listWidget_Final"/>
        </item>
        </layout>
        </item>
        <item row="1" column="0">
        <spacer name="horizontalSpacer_2">
        <property name="orientation">
        <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeHint" stdset="0">
        <size>
        <width>65</width>
        <height>20</height>
        </size>
        </property>
        </spacer>
        </item>
        <item row="1" column="1">
        <widget class="QDialogButtonBox" name="buttonBox">
        <property name="orientation">
        <enum>Qt::Horizontal</enum>
        </property>
        <property name="standardButtons">
        <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
        </property>
        </widget>
        </item>
        <item row="1" column="2">
        <spacer name="horizontalSpacer">
        <property name="orientation">
        <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeHint" stdset="0">
        <size>
        <width>65</width>
        <height>20</height>
        </size>
        </property>
        </spacer>
        </item>
        </layout>
        </widget>
        <resources/>
        <connections>
        <connection>
        <sender>buttonBox</sender>
        <signal>accepted()</signal>
        <receiver>Dialog</receiver>
        <slot>accept()</slot>
        <hints>
        <hint type="sourcelabel">
        <x>248</x>
        <y>254</y>
        </hint>
        <hint type="destinationlabel">
        <x>157</x>
        <y>274</y>
        </hint>
        </hints>
        </connection>
        <connection>
        <sender>buttonBox</sender>
        <signal>rejected()</signal>
        <receiver>Dialog</receiver>
        <slot>reject()</slot>
        <hints>
        <hint type="sourcelabel">
        <x>316</x>
        <y>260</y>
        </hint>
        <hint type="destinationlabel">
        <x>286</x>
        <y>274</y>
        </hint>
        </hints>
        </connection>
        </connections>
        </ui>
        "
        Designer: An error has occurred while reading the UI file at line 1, column 0: Premature end of document.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 26 Aug 2013, 10:07 last edited by
          #4

          Please enclose you code within coding tags so it will make it readable.

          I didn't state that the xml was wrong (it should not if you have generated it with designer) but did you check that file.open returns true ?

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

          1 Reply Last reply
          0
          • H Offline
            H Offline
            hema
            wrote on 26 Aug 2013, 10:36 last edited by
            #5

            selectiondialog.ui
            file exists in the forms

            1 Reply Last reply
            0
            • H Offline
              H Offline
              hema
              wrote on 26 Aug 2013, 11:06 last edited by
              #6

              K , but file.open is returing true

              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 26 Aug 2013, 11:34 last edited by
                #7

                Ok then, did you create the ui file yourself ?

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

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  hema
                  wrote on 27 Aug 2013, 05:02 last edited by
                  #8

                  sorry for a long delay ,
                  this ui is created by myself
                  I am calling this ui in one function funcn()
                  funcn()
                  {
                  QFile file(":/forms/selectiondialog.ui");
                  QWidget *selectionWidget = this->loadUiFile(file);
                  }

                  QWidget* OptimaRTools::loadUiFile(QFile& file1)
                  {

                  QUiLoader loader;
                   QFile file&#40;":/forms/selectiondialog.ui"&#41;;
                  file.open(QFile::ReadOnly);
                  file.errorString();
                  QWidget *formWidget = loader.load(&file);
                  file.close();
                  

                  return formWidget;
                  }

                  and the ui file is

                  <?xml version="1.0" encoding="UTF-8"?>
                  <ui version="4.0">
                  <class>Dialog</class>
                  <widget class="QDialog" name="Dialog">
                  <property name="geometry">
                  <rect>
                  <x>0</x>
                  <y>0</y>
                  <width>322</width>
                  <height>189</height>
                  </rect>
                  </property>
                  <property name="windowTitle">
                  <string>Dialog</string>
                  </property>
                  <layout class="QGridLayout" name="gridLayout_2">
                  <item row="0" column="0" colspan="3">
                  <layout class="QGridLayout" name="gridLayout">
                  <item row="0" column="0">
                  <widget class="QLabel" name="lbl_First">
                  <property name="text">
                  <string/>
                  </property>
                  </widget>
                  </item>
                  <item row="0" column="1">
                  <widget class="QLabel" name="lbl_Second">
                  <property name="text">
                  <string/>
                  </property>
                  </widget>
                  </item>
                  <item row="1" column="0">
                  <widget class="QListWidget" name="listWidget_Initial"/>
                  </item>
                  <item row="1" column="1">
                  <widget class="QListWidget" name="listWidget_Final"/>
                  </item>
                  </layout>
                  </item>
                  <item row="1" column="0">
                  <spacer name="horizontalSpacer_2">
                  <property name="orientation">
                  <enum>Qt::Horizontal</enum>
                  </property>
                  <property name="sizeHint" stdset="0">
                  <size>
                  <width>65</width>
                  <height>20</height>
                  </size>
                  </property>
                  </spacer>
                  </item>
                  <item row="1" column="1">
                  <widget class="QDialogButtonBox" name="buttonBox">
                  <property name="orientation">
                  <enum>Qt::Horizontal</enum>
                  </property>
                  <property name="standardButtons">
                  <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
                  </property>
                  </widget>
                  </item>
                  <item row="1" column="2">
                  <spacer name="horizontalSpacer">
                  <property name="orientation">
                  <enum>Qt::Horizontal</enum>
                  </property>
                  <property name="sizeHint" stdset="0">
                  <size>
                  <width>65</width>
                  <height>20</height>
                  </size>
                  </property>
                  </spacer>
                  </item>
                  </layout>
                  </widget>
                  <resources/>
                  <connections>
                  <connection>
                  <sender>buttonBox</sender>
                  <signal>accepted()</signal>
                  <receiver>Dialog</receiver>
                  <slot>accept()</slot>
                  <hints>
                  <hint type="sourcelabel">
                  <x>248</x>
                  <y>254</y>
                  </hint>
                  <hint type="destinationlabel">
                  <x>157</x>
                  <y>274</y>
                  </hint>
                  </hints>
                  </connection>
                  <connection>
                  <sender>buttonBox</sender>
                  <signal>rejected()</signal>
                  <receiver>Dialog</receiver>
                  <slot>reject()</slot>
                  <hints>
                  <hint type="sourcelabel">
                  <x>316</x>
                  <y>260</y>
                  </hint>
                  <hint type="destinationlabel">
                  <x>286</x>
                  <y>274</y>
                  </hint>
                  </hints>"
                  </connection>
                  </connections>
                  </ui>

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 27 Aug 2013, 07:24 last edited by
                    #9

                    Please use coding tags

                    What do you mean by yourself ? Using the designer integrated with QtCreator ?

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

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      hema
                      wrote on 27 Aug 2013, 07:33 last edited by
                      #10

                      ui is created using Qt designer form

                      1 Reply Last reply
                      0
                      • H Offline
                        H Offline
                        hema
                        wrote on 27 Aug 2013, 07:37 last edited by
                        #11

                        @<?xml version="1.0" encoding="UTF-8"?>
                        <ui version="4.0">
                        <class>Dialog</class>
                        <widget class="QDialog" name="Dialog">
                        <property name="geometry">
                        <rect>
                        <x>0</x>
                        <y>0</y>
                        <width>322</width>
                        <height>221</height>
                        </rect>
                        </property>
                        <property name="windowTitle">
                        <string>Dialog</string>
                        </property>
                        <widget class="QDialogButtonBox" name="buttonBox">
                        <property name="geometry">
                        <rect>
                        <x>65</x>
                        <y>187</y>
                        <width>181</width>
                        <height>32</height>
                        </rect>
                        </property>
                        <property name="orientation">
                        <enum>Qt::Horizontal</enum>
                        </property>
                        <property name="standardButtons">
                        <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
                        </property>
                        </widget>
                        <widget class="QWidget" name="layoutWidget">
                        <property name="geometry">
                        <rect>
                        <x>10</x>
                        <y>10</y>
                        <width>301</width>
                        <height>171</height>
                        </rect>
                        </property>
                        <layout class="QGridLayout" name="gridLayout">
                        <item row="0" column="0">
                        <widget class="QLabel" name="lbl_First">
                        <property name="text">
                        <string/>
                        </property>
                        </widget>
                        </item>
                        <item row="0" column="1">
                        <widget class="QLabel" name="lbl_Second">
                        <property name="text">
                        <string/>
                        </property>
                        </widget>
                        </item>
                        <item row="1" column="0">
                        <widget class="QListWidget" name="listWidget_Initial"/>
                        </item>
                        <item row="1" column="1">
                        <widget class="QListWidget" name="listWidget_Final"/>
                        </item>
                        </layout>
                        </widget>
                        </widget>
                        <resources/>
                        <connections>
                        <connection>
                        <sender>buttonBox</sender>
                        <signal>accepted()</signal>
                        <receiver>Dialog</receiver>
                        <slot>accept()</slot>
                        <hints>
                        <hint type="sourcelabel">
                        <x>248</x>
                        <y>254</y>
                        </hint>
                        <hint type="destinationlabel">
                        <x>157</x>
                        <y>274</y>
                        </hint>
                        </hints>
                        </connection>
                        <connection>
                        <sender>buttonBox</sender>
                        <signal>rejected()</signal>
                        <receiver>Dialog</receiver>
                        <slot>reject()</slot>
                        <hints>
                        <hint type="sourcelabel">
                        <x>316</x>
                        <y>260</y>
                        </hint>
                        <hint type="destinationlabel">
                        <x>286</x>
                        <y>274</y>
                        </hint>
                        </hints>
                        </connection>
                        </connections>
                        </ui>
                        @

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on 27 Aug 2013, 07:40 last edited by
                          #12

                          What does print:

                          @qDebug() << file.readAll();@

                          ?

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

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            hema
                            wrote on 27 Aug 2013, 07:51 last edited by
                            #13

                            @"<?xml version="1.0" encoding="UTF-8"?>
                            <ui version="4.0">
                            <class>Dialog</class>
                            <widget class="QDialog" name="Dialog">
                            <property name="geometry">
                            <rect>
                            <x>0</x>
                            <y>0</y>
                            <width>322</width>
                            <height>189</height>
                            </rect>
                            </property>
                            <property name="windowTitle">
                            <string>Dialog</string>
                            </property>
                            <layout class="QGridLayout" name="gridLayout_2">
                            <item row="0" column="0" colspan="3">
                            <layout class="QGridLayout" name="gridLayout">
                            <item row="0" column="0">
                            <widget class="QLabel" name="lbl_First">
                            <property name="text">
                            <string/>
                            </property>
                            </widget>
                            </item>
                            <item row="0" column="1">
                            <widget class="QLabel" name="lbl_Second">
                            <property name="text">
                            <string/>
                            </property>
                            </widget>
                            </item>
                            <item row="1" column="0">
                            <widget class="QListWidget" name="listWidget_Initial"/>
                            </item>
                            <item row="1" column="1">
                            <widget class="QListWidget" name="listWidget_Final"/>
                            </item>
                            </layout>
                            </item>
                            <item row="1" column="0">
                            <spacer name="horizontalSpacer_2">
                            <property name="orientation">
                            <enum>Qt::Horizontal</enum>
                            </property>
                            <property name="sizeHint" stdset="0">
                            <size>
                            <width>65</width>
                            <height>20</height>
                            </size>
                            </property>
                            </spacer>
                            </item>
                            <item row="1" column="1">
                            <widget class="QDialogButtonBox" name="buttonBox">
                            <property name="orientation">
                            <enum>Qt::Horizontal</enum>
                            </property>
                            <property name="standardButtons">
                            <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
                            </property>
                            </widget>
                            </item>
                            <item row="1" column="2">
                            <spacer name="horizontalSpacer">
                            <property name="orientation">
                            <enum>Qt::Horizontal</enum>
                            </property>
                            <property name="sizeHint" stdset="0">
                            <size>
                            <width>65</width>
                            <height>20</height>
                            </size>
                            </property>
                            </spacer>
                            </item>
                            </layout>
                            </widget>
                            <resources/>
                            <connections>
                            <connection>
                            <sender>buttonBox</sender>
                            <signal>accepted()</signal>
                            <receiver>Dialog</receiver>
                            <slot>accept()</slot>
                            <hints>
                            <hint type="sourcelabel">
                            <x>248</x>
                            <y>254</y>
                            </hint>
                            <hint type="destinationlabel">
                            <x>157</x>
                            <y>274</y>
                            </hint>
                            </hints>
                            </connection>
                            <connection>
                            <sender>buttonBox</sender>
                            <signal>rejected()</signal>
                            <receiver>Dialog</receiver>
                            <slot>reject()</slot>
                            <hints>
                            <hint type="sourcelabel">
                            <x>316</x>
                            <y>260</y>
                            </hint>
                            <hint type="destinationlabel">
                            <x>286</x>
                            <y>274</y>
                            </hint>
                            </hints>
                            </connection>
                            </connections>
                            </ui>
                            "
                            Designer: An error has occurred while reading the UI file at line 1, column 0: Premature end of document.
                            "Phonon::SeekSlider" @

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on 27 Aug 2013, 08:10 last edited by
                              #14

                              Really strange...

                              Could you try to run the Calculator builder example ? To see if it also has the same problem

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

                              1 Reply Last reply
                              0
                              • H Offline
                                H Offline
                                hema
                                wrote on 27 Aug 2013, 08:19 last edited by
                                #15

                                I have tried calculator builder and text finder examples they are working fine

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on 27 Aug 2013, 08:32 last edited by
                                  #16

                                  Then copy the ui file from the example in your project and try to load to see if it works also there

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

                                  1 Reply Last reply
                                  0
                                  • H Offline
                                    H Offline
                                    hema
                                    wrote on 27 Aug 2013, 10:08 last edited by
                                    #17

                                    @"<ui version="4.0" >
                                    <author></author>
                                    <comment></comment>
                                    <exportmacro></exportmacro>
                                    <class>CalculatorForm</class>
                                    <widget class="QWidget" name="CalculatorForm" >
                                    <property name="objectName" >
                                    <string notr="true" >CalculatorForm</string>
                                    </property>
                                    <property name="geometry" >
                                    <rect>
                                    <x>0</x>
                                    <y>0</y>
                                    <width>276</width>
                                    <height>98</height>
                                    </rect>
                                    </property>
                                    <property name="sizePolicy" >
                                    <sizepolicy>
                                    <hsizetype>5</hsizetype>
                                    <vsizetype>5</vsizetype>
                                    <horstretch>0</horstretch>
                                    <verstretch>0</verstretch>
                                    </sizepolicy>
                                    </property>
                                    <property name="windowTitle" >
                                    <string>Calculator Builder</string>
                                    </property>
                                    <layout class="QGridLayout" >
                                    <property name="objectName" >
                                    <string notr="true" />
                                    </property>
                                    <property name="margin" >
                                    <number>9</number>
                                    </property>
                                    <property name="spacing" >
                                    <number>6</number>
                                    </property>
                                    <item row="0" column="0" >
                                    <layout class="QHBoxLayout" >
                                    <property name="objectName" >
                                    <string notr="true" />
                                    </property>
                                    <property name="margin" >
                                    <number>1</number>

                                    1 Reply Last reply
                                    0
                                    • H Offline
                                      H Offline
                                      hema
                                      wrote on 27 Aug 2013, 10:16 last edited by
                                      #18

                                      loading calculator.ui giving the same error in my application

                                      1 Reply Last reply
                                      0
                                      • S Offline
                                        S Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on 27 Aug 2013, 10:25 last edited by
                                        #19

                                        Then can you post your pro file and a minimal code example that reproduce the problem ?

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

                                        1 Reply Last reply
                                        0

                                        6/19

                                        26 Aug 2013, 11:06

                                        13 unread
                                        • Login

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