KNX Local Device Management 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>867</width>
     <height>416</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>KNX local device management example</string>
   </property>
   <widget class="QWidget" name="centralwidget">
    <layout class="QVBoxLayout" name="verticalLayout">
     <item>
      <layout class="QGridLayout" name="gridLayout" columnstretch="0,1,0,0,0,1,0,0">
       <item row="0" column="0">
        <widget class="QLabel" name="interfaceObjectTypeLabel">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Interface object type:</string>
         </property>
        </widget>
       </item>
       <item row="0" column="1">
        <widget class="QComboBox" name="interfaceObjectTypes">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
        </widget>
       </item>
       <item row="0" column="2">
        <widget class="QLabel" name="objectInstanceLabel">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Object instance:</string>
         </property>
        </widget>
       </item>
       <item row="0" column="3">
        <widget class="QSpinBox" name="objectInstance">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="minimumSize">
          <size>
           <width>50</width>
           <height>0</height>
          </size>
         </property>
         <property name="minimum">
          <number>1</number>
         </property>
         <property name="maximum">
          <number>255</number>
         </property>
        </widget>
       </item>
       <item row="0" column="4">
        <widget class="QLabel" name="propertyIdLabel">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Property ID:</string>
         </property>
        </widget>
       </item>
       <item row="0" column="5">
        <widget class="QComboBox" name="propertyId">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
        </widget>
       </item>
       <item row="0" column="6">
        <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="0" column="7">
        <widget class="QPushButton" name="sendRead">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Read</string>
         </property>
        </widget>
       </item>
       <item row="1" column="0">
        <widget class="QLabel" name="numberOfElementsLabel">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Number of elements:</string>
         </property>
        </widget>
       </item>
       <item row="1" column="1">
        <layout class="QHBoxLayout" name="horizontalLayout_2">
         <item>
          <widget class="QSpinBox" name="numberOfElements">
           <property name="enabled">
            <bool>false</bool>
           </property>
           <property name="minimumSize">
            <size>
             <width>50</width>
             <height>0</height>
            </size>
           </property>
           <property name="minimum">
            <number>1</number>
           </property>
           <property name="maximum">
            <number>15</number>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QLabel" name="startIndexLabel">
           <property name="sizePolicy">
            <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
             <horstretch>0</horstretch>
             <verstretch>0</verstretch>
            </sizepolicy>
           </property>
           <property name="text">
            <string>Start index:</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QSpinBox" name="startIndex">
           <property name="enabled">
            <bool>false</bool>
           </property>
           <property name="minimumSize">
            <size>
             <width>50</width>
             <height>0</height>
            </size>
           </property>
           <property name="maximum">
            <number>4095</number>
           </property>
          </widget>
         </item>
         <item>
          <spacer name="horizontalSpacer_2">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>40</width>
             <height>20</height>
            </size>
           </property>
          </spacer>
         </item>
        </layout>
       </item>
       <item row="1" column="2">
        <widget class="QLabel" name="dataLabel">
         <property name="text">
          <string>Data:</string>
         </property>
        </widget>
       </item>
       <item row="1" column="3" colspan="3">
        <widget class="QLineEdit" name="data">
         <property name="enabled">
          <bool>false</bool>
         </property>
        </widget>
       </item>
       <item row="1" column="7">
        <widget class="QPushButton" name="sendWrite">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Write</string>
         </property>
        </widget>
       </item>
      </layout>
     </item>
     <item>
      <widget class="QTreeWidget" name="communication">
       <property name="contextMenuPolicy">
        <enum>Qt::DefaultContextMenu</enum>
       </property>
       <property name="uniformRowHeights">
        <bool>true</bool>
       </property>
       <attribute name="headerShowSortIndicator" stdset="0">
        <bool>false</bool>
       </attribute>
       <column>
        <property name="text">
         <string>#</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Message code</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Interface object type</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Object instance</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Property ID</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Number of elements</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Start index</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Data</string>
        </property>
       </column>
       <column>
        <property name="text">
         <string>Frame</string>
        </property>
       </column>
      </widget>
     </item>
     <item>
      <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1,0,1,0,1,0,0">
       <item>
        <widget class="QLabel" name="interfaceLabel">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Interface:</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QComboBox" name="interfaces">
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QLabel" name="deviceLabel">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="text">
          <string>Device:</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QComboBox" name="devices">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QCheckBox" name="secureSession">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="text">
          <string>Use secure session</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QComboBox" name="secureConfigs">
         <property name="enabled">
          <bool>false</bool>
         </property>
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
        </widget>
       </item>
       <item>
        <spacer name="spacerRight">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
         <property name="sizeType">
          <enum>QSizePolicy::Expanding</enum>
         </property>
         <property name="sizeHint" stdset="0">
          <size>
           <width>40</width>
           <height>20</height>
          </size>
         </property>
        </spacer>
       </item>
       <item>
        <widget class="QPushButton" name="connection">
         <property name="text">
          <string>Connect</string>
         </property>
        </widget>
       </item>
      </layout>
     </item>
    </layout>
   </widget>
   <widget class="QMenuBar" name="menuBar">
    <property name="geometry">
     <rect>
      <x>0</x>
      <y>0</y>
      <width>867</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="actionImport"/>
     </widget>
     <addaction name="menuImport"/>
     <addaction name="separator"/>
     <addaction name="actionExit"/>
    </widget>
    <widget class="QMenu" name="menuEdit">
     <property name="title">
      <string>Edit</string>
     </property>
     <addaction name="actionClear"/>
    </widget>
    <addaction name="menuFile"/>
    <addaction name="menuEdit"/>
   </widget>
   <action name="actionExit">
    <property name="text">
     <string>Exit</string>
    </property>
   </action>
   <action name="actionImport">
    <property name="text">
     <string>KNX keyring file...</string>
    </property>
   </action>
   <action name="actionClear">
    <property name="text">
     <string>Clear telegram list</string>
    </property>
   </action>
  </widget>
  <resources/>
  <connections>
   <connection>
    <sender>secureSession</sender>
    <signal>toggled(bool)</signal>
    <receiver>secureConfigs</receiver>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
      <x>516</x>
      <y>391</y>
     </hint>
     <hint type="destinationlabel">
      <x>634</x>
      <y>393</y>
     </hint>
    </hints>
   </connection>
  </connections>
 </ui>