KNX Editor Example

 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>MainWindow</class>
  <widget class="QMainWindow" name="MainWindow">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>899</width>
     <height>619</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>MainWindow</string>
   </property>
   <widget class="QWidget" name="controlWidget">
    <layout class="QGridLayout" name="gridLayout">
     <item row="0" column="0">
      <widget class="QSplitter" name="splitter">
       <property name="orientation">
        <enum>Qt::Vertical</enum>
       </property>
       <widget class="QWidget" name="layoutWidget">
        <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0">
         <property name="leftMargin">
          <number>5</number>
         </property>
         <property name="rightMargin">
          <number>5</number>
         </property>
         <item>
          <widget class="QGroupBox" name="communicationBox">
           <property name="title">
            <string>Communication</string>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_2">
            <property name="sizeConstraint">
             <enum>QLayout::SetMaximumSize</enum>
            </property>
            <item>
             <layout class="QVBoxLayout" name="verticalLayout">
              <property name="leftMargin">
               <number>5</number>
              </property>
              <property name="rightMargin">
               <number>5</number>
              </property>
              <item>
               <widget class="QLabel" name="label">
                <property name="text">
                 <string>Local IP Address</string>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QComboBox" name="localIpBox">
                <property name="editable">
                 <bool>false</bool>
                </property>
                <property name="currentText">
                 <string/>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QLabel" name="ServerLabel">
                <property name="text">
                 <string> Discovered Server</string>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QComboBox" name="serverBox"/>
              </item>
              <item>
               <widget class="QLabel" name="serverDescription">
                <property name="text">
                 <string/>
                </property>
                <property name="wordWrap">
                 <bool>true</bool>
                </property>
                <property name="textInteractionFlags">
                 <set>Qt::NoTextInteraction</set>
                </property>
               </widget>
              </item>
              <item>
               <spacer name="verticalSpacer">
                <property name="orientation">
                 <enum>Qt::Vertical</enum>
                </property>
                <property name="sizeHint" stdset="0">
                 <size>
                  <width>20</width>
                  <height>40</height>
                 </size>
                </property>
               </spacer>
              </item>
              <item>
               <widget class="QRadioButton" name="radioButtonUDP">
                <property name="text">
                 <string>Use UDP as transport layer protocol</string>
                </property>
                <property name="checked">
                 <bool>true</bool>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QRadioButton" name="radioButtonTCP">
                <property name="enabled">
                 <bool>false</bool>
                </property>
                <property name="text">
                 <string>Use TCP as transport layer protocol</string>
                </property>
               </widget>
              </item>
              <item>
               <widget class="QCheckBox" name="checkboxNat">
                <property name="text">
                 <string>Use NAT for KNXnet/IP communication</string>
                </property>
               </widget>
              </item>
             </layout>
            </item>
            <item>
             <layout class="QHBoxLayout" name="horizontalLayout">
              <property name="leftMargin">
               <number>5</number>
              </property>
              <property name="topMargin">
               <number>5</number>
              </property>
              <property name="rightMargin">
               <number>5</number>
              </property>
              <property name="bottomMargin">
               <number>5</number>
              </property>
              <item>
               <widget class="QPushButton" name="scanButton">
                <property name="enabled">
                 <bool>false</bool>
                </property>
                <property name="text">
                 <string>Scan</string>
                </property>
               </widget>
              </item>
             </layout>
            </item>
           </layout>
          </widget>
         </item>
         <item>
          <widget class="QTabWidget" name="tabWidget">
           <property name="enabled">
            <bool>true</bool>
           </property>
           <property name="sizePolicy">
            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
           </property>
           <property name="currentIndex">
            <number>0</number>
           </property>
           <property name="tabsClosable">
            <bool>false</bool>
           </property>
           <widget class="LocalDeviceManagement" name="deviceManagement">
            <property name="enabled">
             <bool>true</bool>
            </property>
            <attribute name="title">
             <string>Local device management</string>
            </attribute>
           </widget>
           <widget class="Tunneling" name="tunneling">
            <property name="enabled">
             <bool>true</bool>
            </property>
            <attribute name="title">
             <string>Tunneling</string>
            </attribute>
           </widget>
           <widget class="TunnelingFeatures" name="tunnelingFeatures">
            <attribute name="title">
             <string>TunnelingFeatures</string>
            </attribute>
           </widget>
          </widget>
         </item>
        </layout>
       </widget>
       <widget class="QGroupBox" name="outputBox">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="maximumSize">
         <size>
          <width>16777215</width>
          <height>16777215</height>
         </size>
        </property>
        <property name="title">
         <string>Output</string>
        </property>
        <layout class="QVBoxLayout" name="verticalLayout_3">
         <item>
          <widget class="QTextEdit" name="outputEdit">
           <property name="acceptDrops">
            <bool>false</bool>
           </property>
           <property name="undoRedoEnabled">
            <bool>false</bool>
           </property>
           <property name="readOnly">
            <bool>true</bool>
           </property>
          </widget>
         </item>
        </layout>
       </widget>
      </widget>
     </item>
    </layout>
   </widget>
   <widget class="QMenuBar" name="menubar">
    <property name="geometry">
     <rect>
      <x>0</x>
      <y>0</y>
      <width>899</width>
      <height>21</height>
     </rect>
    </property>
    <widget class="QMenu" name="menuFile">
     <property name="title">
      <string>File</string>
     </property>
     <widget class="QMenu" name="menuImport">
      <property name="title">
       <string>Import</string>
      </property>
      <addaction name="actionEtsKeyringImport"/>
     </widget>
     <addaction name="menuImport"/>
     <addaction name="separator"/>
     <addaction name="actionExit"/>
    </widget>
    <widget class="QMenu" name="menuEdit">
     <property name="title">
      <string>Edit</string>
     </property>
     <widget class="QMenu" name="menuClear">
      <property name="title">
       <string>Clear</string>
      </property>
      <addaction name="actionClear_Output"/>
      <addaction name="actionClear_All"/>
     </widget>
     <addaction name="menuClear"/>
     <addaction name="separator"/>
     <addaction name="separator"/>
    </widget>
    <addaction name="menuFile"/>
    <addaction name="menuEdit"/>
   </widget>
   <widget class="QStatusBar" name="statusbar"/>
   <action name="actionConnect">
    <property name="text">
     <string>Connect</string>
    </property>
   </action>
   <action name="actionDisconnect">
    <property name="text">
     <string>Disconnect</string>
    </property>
   </action>
   <action name="actionExit">
    <property name="text">
     <string>Exit</string>
    </property>
   </action>
   <action name="actionCopy">
    <property name="text">
     <string>Copy</string>
    </property>
   </action>
   <action name="actionSelect_All">
    <property name="text">
     <string>Select All</string>
    </property>
   </action>
   <action name="actionClear_Output">
    <property name="text">
     <string>Clear Output</string>
    </property>
   </action>
   <action name="actionClear_Communication">
    <property name="text">
     <string>Clear Communication</string>
    </property>
   </action>
   <action name="actionClear_All">
    <property name="text">
     <string>Clear All</string>
    </property>
   </action>
   <action name="actionEtsKeyringImport">
    <property name="text">
     <string>KNX keyring file...</string>
    </property>
   </action>
  </widget>
  <customwidgets>
   <customwidget>
    <class>LocalDeviceManagement</class>
    <extends>QWidget</extends>
    <header>localdevicemanagement.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
    <class>Tunneling</class>
    <extends>QWidget</extends>
    <header>tunneling.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
    <class>TunnelingFeatures</class>
    <extends>QWidget</extends>
    <header>tunnelingfeatures.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
  <resources/>
  <connections/>
 </ui>