Monday, January 25, 2016

SDS1022C custom control application Python Qt source code


This code is from project: Adding touch screen to Siglent sds1022c oscilloscope

osc.py

#!/usr/bin/python

import sys, serial, struct
from PyQt4 import QtGui
from osc_ui import Ui_Form


class Osc(QtGui.QMainWindow):

   dval = {}
   cmd  = {         
      'ENC_HZ_POS_DW': 1,
      'ENC_HZ_POS_UP': 2,
      'ENC_HZ_ZOOM_DW': 3,
      'ENC_HZ_ZOOM_UP': 4,
      'ENC_CH1_V_OFFT_DW': 5,
      'ENC_CH1_V_OFFT_UP': 6,
      'ENC_CH1_V_DIV_DW': 7,
      'ENC_CH1_V_DIV_UP': 8,
      'ENC_CH2_V_OFFT_DW': 9,
      'ENC_CH2_V_OFFT_UP': 10,
      'ENC_CH2_V_DIV_DW': 11,
      'ENC_CH2_V_DIV_UP': 12,
      'ENC_MENU_DW': 13,
      'ENC_MENU_UP': 14,
      'ENC_TRIG_LVL_DW': 15,
      'ENC_TRIG_LVL_UP': 16,
      'BTN_SAVE_TO_FLASH': 17,
      'BTN_REF': 18,
      'BTN_HELP': 19,
      'BTN_TRIGGER': 20,
      'BTN_HZ_POS_RST': 21,
      'BTN_MENU_5': 22,
      'BTN_CH2': 23,
      'BTN_TRIGGER_FORCE': 24,
      'BTN_CH2_V_OFFT_RST': 25,
      'BTN_MENU_4': 26,
      'BTN_MATH': 27,
      'BTN_DEFAULTS': 28,
      'BTN_HZ_MASK': 29,
      'BTN_MENU_3': 30,
      'BTN_CH1': 31,
      'BTN_UTILITY': 32,
      'BTN_TRIGGER_50': 33,
      'BTN_CH2_V_RATIO': 34,
      'BTN_MENU_2': 35,
      'BTN_HZ_MENU': 36,
      'BTN_SAVE_RECALL': 37,
      'BTN_TRIGGER_SINGLE': 38,
      'BTN_CH1_V_RATIO': 39,
      'BTN_MENU_1': 40,
      'BTN_MEASURE': 41,
      'BTN_DISPLAY': 42,
      'BTN_TRIGGER_RUN_STOP': 43,
      'BTN_MENU_RST': 44,
      'BTN_MENU': 45,
      'BTN_CURSORS': 46,
      'BTN_ACQUIRE': 47,
      'BTN_TRIGGER_MENU': 48,
      'BTN_CH1_V_OFFT_RST': 49,
   }

   def __init__(self):
      super(Osc, self).__init__()
      self.ui=Ui_Form()
      self.ui.setupUi(self)
      self.show()

      self.serial = serial.Serial(
         port='/dev/ttyUSB0',
         baudrate=9600,
         parity=serial.PARITY_NONE,
         stopbits=serial.STOPBITS_ONE,
         bytesize=serial.EIGHTBITS,
         xonxoff=serial.XOFF,
         rtscts=False,
         dsrdtr=False,
      )

      for btn in self.findChildren(QtGui.QPushButton):
         btn.clicked.connect(self.button_action)

      for dl in self.findChildren(QtGui.QDial):
         dl.setWrapping(True)
         dl.setNotchesVisible(True)
         dl.valueChanged.connect(self.dial_action)
         dl.setMinimum(0)
         dl.setMaximum(99)
         dl.setPageStep(1)
         dl.setProperty("value", 0)

   def __del__(self):
      self.serial.close()
      print "cleanup!"

   def button_action(self):
      send_from = self.sender()
      self.do_cmd(str(send_from.objectName()))

   def dial_action(self):
      send_from = self.sender()
      name = str(send_from.objectName())
      value = send_from.value()

      if name not in self.dval.keys():
         if value > 1:
            self.dval[ name ] = value + 1
         elif value <= 1:
            self.dval[ name ] = value - 1

      if value - self.dval[ name ] > 1:
         self.dval[ name ] = value + 1
      elif self.dval[ name ] - value > 1:
         self.dval[ name ] = value - 1

      if value < self.dval[ name ]:
         self.do_cmd(name + "_DW")
      else:
         self.do_cmd(name + "_UP")

      self.dval[ name ] = value

   def do_cmd(self, cmd):
      self.serial.write(chr(self.cmd[cmd]))

if __name__ == '__main__':
   qt = QtGui.QApplication(sys.argv)
   osc = Osc()
   sys.exit(qt.exec_())

osc_ui.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'osc.ui'
#
# Created: Mon Jan 18 20:11:32 2016
#      by: PyQt4 UI code generator 4.9.6
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(599, 471)
        self.label = QtGui.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(390, 440, 54, 16))
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName(_fromUtf8("label"))
        self.ENC_HZ_ZOOM = QtGui.QDial(Form)
        self.ENC_HZ_ZOOM.setGeometry(QtCore.QRect(480, 350, 87, 100))
        self.ENC_HZ_ZOOM.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_HZ_ZOOM.setTracking(True)
        self.ENC_HZ_ZOOM.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_HZ_ZOOM.setInvertedAppearance(False)
        self.ENC_HZ_ZOOM.setInvertedControls(False)
        self.ENC_HZ_ZOOM.setObjectName(_fromUtf8("ENC_HZ_ZOOM"))
        self.label_2 = QtGui.QLabel(Form)
        self.label_2.setGeometry(QtCore.QRect(490, 440, 63, 16))
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.ENC_CH1_V_OFFT = QtGui.QDial(Form)
        self.ENC_CH1_V_OFFT.setGeometry(QtCore.QRect(130, 370, 81, 71))
        self.ENC_CH1_V_OFFT.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_CH1_V_OFFT.setTracking(True)
        self.ENC_CH1_V_OFFT.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_CH1_V_OFFT.setInvertedAppearance(False)
        self.ENC_CH1_V_OFFT.setInvertedControls(False)
        self.ENC_CH1_V_OFFT.setObjectName(_fromUtf8("ENC_CH1_V_OFFT"))
        self.ENC_CH1_V_DIV = QtGui.QDial(Form)
        self.ENC_CH1_V_DIV.setGeometry(QtCore.QRect(110, 270, 111, 91))
        self.ENC_CH1_V_DIV.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_CH1_V_DIV.setTracking(True)
        self.ENC_CH1_V_DIV.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_CH1_V_DIV.setInvertedAppearance(False)
        self.ENC_CH1_V_DIV.setInvertedControls(False)
        self.ENC_CH1_V_DIV.setObjectName(_fromUtf8("ENC_CH1_V_DIV"))
        self.label_4 = QtGui.QLabel(Form)
        self.label_4.setGeometry(QtCore.QRect(200, 310, 61, 21))
        self.label_4.setAlignment(QtCore.Qt.AlignCenter)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.label_5 = QtGui.QLabel(Form)
        self.label_5.setGeometry(QtCore.QRect(200, 400, 71, 21))
        self.label_5.setAlignment(QtCore.Qt.AlignCenter)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.ENC_CH2_V_DIV = QtGui.QDial(Form)
        self.ENC_CH2_V_DIV.setGeometry(QtCore.QRect(250, 270, 101, 91))
        self.ENC_CH2_V_DIV.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_CH2_V_DIV.setTracking(True)
        self.ENC_CH2_V_DIV.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_CH2_V_DIV.setInvertedAppearance(False)
        self.ENC_CH2_V_DIV.setInvertedControls(False)
        self.ENC_CH2_V_DIV.setObjectName(_fromUtf8("ENC_CH2_V_DIV"))
        self.ENC_CH2_V_OFFT = QtGui.QDial(Form)
        self.ENC_CH2_V_OFFT.setGeometry(QtCore.QRect(260, 370, 71, 71))
        self.ENC_CH2_V_OFFT.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_CH2_V_OFFT.setTracking(True)
        self.ENC_CH2_V_OFFT.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_CH2_V_OFFT.setInvertedAppearance(False)
        self.ENC_CH2_V_OFFT.setInvertedControls(False)
        self.ENC_CH2_V_OFFT.setObjectName(_fromUtf8("ENC_CH2_V_OFFT"))
        self.ENC_MENU = QtGui.QDial(Form)
        self.ENC_MENU.setGeometry(QtCore.QRect(120, 30, 31, 31))
        self.ENC_MENU.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_MENU.setTracking(True)
        self.ENC_MENU.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_MENU.setInvertedAppearance(False)
        self.ENC_MENU.setInvertedControls(False)
        self.ENC_MENU.setObjectName(_fromUtf8("ENC_MENU"))
        self.BTN_CH1 = QtGui.QPushButton(Form)
        self.BTN_CH1.setGeometry(QtCore.QRect(130, 210, 81, 51))
        self.BTN_CH1.setObjectName(_fromUtf8("BTN_CH1"))
        self.BTN_CH2 = QtGui.QPushButton(Form)
        self.BTN_CH2.setGeometry(QtCore.QRect(260, 210, 81, 51))
        self.BTN_CH2.setObjectName(_fromUtf8("BTN_CH2"))
        self.widget = QtGui.QWidget(Form)
        self.widget.setGeometry(QtCore.QRect(10, 20, 92, 321))
        self.widget.setObjectName(_fromUtf8("widget"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.widget)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.BTN_MENU = QtGui.QPushButton(self.widget)
        self.BTN_MENU.setObjectName(_fromUtf8("BTN_MENU"))
        self.verticalLayout_2.addWidget(self.BTN_MENU)
        self.BTN_TRIGGER = QtGui.QPushButton(self.widget)
        self.BTN_TRIGGER.setObjectName(_fromUtf8("BTN_TRIGGER"))
        self.verticalLayout_2.addWidget(self.BTN_TRIGGER)
        self.BTN_TRIGGER_SINGLE = QtGui.QPushButton(self.widget)
        self.BTN_TRIGGER_SINGLE.setObjectName(_fromUtf8("BTN_TRIGGER_SINGLE"))
        self.verticalLayout_2.addWidget(self.BTN_TRIGGER_SINGLE)
        self.BTN_TRIGGER_RUN_STOP = QtGui.QPushButton(self.widget)
        self.BTN_TRIGGER_RUN_STOP.setObjectName(_fromUtf8("BTN_TRIGGER_RUN_STOP"))
        self.verticalLayout_2.addWidget(self.BTN_TRIGGER_RUN_STOP)
        self.BTN_TRIGGER_MENU = QtGui.QPushButton(self.widget)
        self.BTN_TRIGGER_MENU.setObjectName(_fromUtf8("BTN_TRIGGER_MENU"))
        self.verticalLayout_2.addWidget(self.BTN_TRIGGER_MENU)
        self.BTN_TRIGGER_50 = QtGui.QPushButton(self.widget)
        self.BTN_TRIGGER_50.setObjectName(_fromUtf8("BTN_TRIGGER_50"))
        self.verticalLayout_2.addWidget(self.BTN_TRIGGER_50)
        self.BTN_TRIGGER_FORCE = QtGui.QPushButton(self.widget)
        self.BTN_TRIGGER_FORCE.setObjectName(_fromUtf8("BTN_TRIGGER_FORCE"))
        self.verticalLayout_2.addWidget(self.BTN_TRIGGER_FORCE)
        self.widget1 = QtGui.QWidget(Form)
        self.widget1.setGeometry(QtCore.QRect(10, 340, 91, 111))
        self.widget1.setObjectName(_fromUtf8("widget1"))
        self.gridLayout_2 = QtGui.QGridLayout(self.widget1)
        self.gridLayout_2.setMargin(0)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.ENC_TRIG_LVL = QtGui.QDial(self.widget1)
        self.ENC_TRIG_LVL.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_TRIG_LVL.setTracking(True)
        self.ENC_TRIG_LVL.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_TRIG_LVL.setInvertedAppearance(False)
        self.ENC_TRIG_LVL.setInvertedControls(False)
        self.ENC_TRIG_LVL.setObjectName(_fromUtf8("ENC_TRIG_LVL"))
        self.gridLayout_2.addWidget(self.ENC_TRIG_LVL, 0, 0, 1, 1)
        self.label_6 = QtGui.QLabel(self.widget1)
        self.label_6.setAlignment(QtCore.Qt.AlignCenter)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1)
        self.ENC_HZ_POS = QtGui.QDial(Form)
        self.ENC_HZ_POS.setGeometry(QtCore.QRect(380, 370, 71, 71))
        self.ENC_HZ_POS.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ENC_HZ_POS.setTracking(True)
        self.ENC_HZ_POS.setOrientation(QtCore.Qt.Horizontal)
        self.ENC_HZ_POS.setInvertedAppearance(False)
        self.ENC_HZ_POS.setInvertedControls(False)
        self.ENC_HZ_POS.setObjectName(_fromUtf8("ENC_HZ_POS"))
        self.splitter = QtGui.QSplitter(Form)
        self.splitter.setGeometry(QtCore.QRect(370, 30, 201, 321))
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName(_fromUtf8("splitter"))
        self.widget2 = QtGui.QWidget(self.splitter)
        self.widget2.setObjectName(_fromUtf8("widget2"))
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.widget2)
        self.verticalLayout_4.setMargin(0)
        self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
        self.BTN_MEASURE = QtGui.QPushButton(self.widget2)
        self.BTN_MEASURE.setObjectName(_fromUtf8("BTN_MEASURE"))
        self.verticalLayout_4.addWidget(self.BTN_MEASURE)
        self.BTN_ACQUIRE = QtGui.QPushButton(self.widget2)
        self.BTN_ACQUIRE.setObjectName(_fromUtf8("BTN_ACQUIRE"))
        self.verticalLayout_4.addWidget(self.BTN_ACQUIRE)
        self.BTN_CURSORS = QtGui.QPushButton(self.widget2)
        self.BTN_CURSORS.setObjectName(_fromUtf8("BTN_CURSORS"))
        self.verticalLayout_4.addWidget(self.BTN_CURSORS)
        self.BTN_DISPLAY = QtGui.QPushButton(self.widget2)
        self.BTN_DISPLAY.setObjectName(_fromUtf8("BTN_DISPLAY"))
        self.verticalLayout_4.addWidget(self.BTN_DISPLAY)
        self.BTN_UTILITY = QtGui.QPushButton(self.widget2)
        self.BTN_UTILITY.setObjectName(_fromUtf8("BTN_UTILITY"))
        self.verticalLayout_4.addWidget(self.BTN_UTILITY)
        self.BTN_DEFAULTS = QtGui.QPushButton(self.widget2)
        self.BTN_DEFAULTS.setObjectName(_fromUtf8("BTN_DEFAULTS"))
        self.verticalLayout_4.addWidget(self.BTN_DEFAULTS)
        self.BTN_HELP = QtGui.QPushButton(self.widget2)
        self.BTN_HELP.setObjectName(_fromUtf8("BTN_HELP"))
        self.verticalLayout_4.addWidget(self.BTN_HELP)
        self.widget3 = QtGui.QWidget(self.splitter)
        self.widget3.setObjectName(_fromUtf8("widget3"))
        self.verticalLayout = QtGui.QVBoxLayout(self.widget3)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.BTN_MENU_1 = QtGui.QPushButton(self.widget3)
        self.BTN_MENU_1.setObjectName(_fromUtf8("BTN_MENU_1"))
        self.verticalLayout.addWidget(self.BTN_MENU_1)
        self.BTN_MENU_2 = QtGui.QPushButton(self.widget3)
        self.BTN_MENU_2.setObjectName(_fromUtf8("BTN_MENU_2"))
        self.verticalLayout.addWidget(self.BTN_MENU_2)
        self.BTN_MENU_3 = QtGui.QPushButton(self.widget3)
        self.BTN_MENU_3.setObjectName(_fromUtf8("BTN_MENU_3"))
        self.verticalLayout.addWidget(self.BTN_MENU_3)
        self.BTN_MENU_4 = QtGui.QPushButton(self.widget3)
        self.BTN_MENU_4.setObjectName(_fromUtf8("BTN_MENU_4"))
        self.verticalLayout.addWidget(self.BTN_MENU_4)
        self.BTN_MENU_5 = QtGui.QPushButton(self.widget3)
        self.BTN_MENU_5.setObjectName(_fromUtf8("BTN_MENU_5"))
        self.verticalLayout.addWidget(self.BTN_MENU_5)
        self.BTN_HZ_MASK = QtGui.QPushButton(self.widget3)
        self.BTN_HZ_MASK.setObjectName(_fromUtf8("BTN_HZ_MASK"))
        self.verticalLayout.addWidget(self.BTN_HZ_MASK)
        self.BTN_HZ_MENU = QtGui.QPushButton(self.widget3)
        self.BTN_HZ_MENU.setObjectName(_fromUtf8("BTN_HZ_MENU"))
        self.verticalLayout.addWidget(self.BTN_HZ_MENU)
        self.widget4 = QtGui.QWidget(Form)
        self.widget4.setGeometry(QtCore.QRect(190, 20, 87, 151))
        self.widget4.setObjectName(_fromUtf8("widget4"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.widget4)
        self.verticalLayout_3.setMargin(0)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
        self.BTN_SAVE_TO_FLASH = QtGui.QPushButton(self.widget4)
        self.BTN_SAVE_TO_FLASH.setObjectName(_fromUtf8("BTN_SAVE_TO_FLASH"))
        self.verticalLayout_3.addWidget(self.BTN_SAVE_TO_FLASH)
        self.BTN_MATH = QtGui.QPushButton(self.widget4)
        self.BTN_MATH.setObjectName(_fromUtf8("BTN_MATH"))
        self.verticalLayout_3.addWidget(self.BTN_MATH)
        self.BTN_REF = QtGui.QPushButton(self.widget4)
        self.BTN_REF.setObjectName(_fromUtf8("BTN_REF"))
        self.verticalLayout_3.addWidget(self.BTN_REF)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.label.setText(_translate("Form", "HZ pos", None))
        self.ENC_HZ_ZOOM.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.label_2.setText(_translate("Form", "HZ zoom", None))
        self.ENC_CH1_V_OFFT.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.ENC_CH1_V_DIV.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.label_4.setText(_translate("Form", "div", None))
        self.label_5.setText(_translate("Form", "offset", None))
        self.ENC_CH2_V_DIV.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.ENC_CH2_V_OFFT.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.ENC_MENU.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.BTN_CH1.setText(_translate("Form", "CH1", None))
        self.BTN_CH2.setText(_translate("Form", "CH2", None))
        self.BTN_MENU.setText(_translate("Form", "Menu", None))
        self.BTN_TRIGGER.setText(_translate("Form", "Trigger", None))
        self.BTN_TRIGGER_SINGLE.setText(_translate("Form", "Single", None))
        self.BTN_TRIGGER_RUN_STOP.setText(_translate("Form", "Run Stop", None))
        self.BTN_TRIGGER_MENU.setText(_translate("Form", "T Menu", None))
        self.BTN_TRIGGER_50.setText(_translate("Form", "50%", None))
        self.BTN_TRIGGER_FORCE.setText(_translate("Form", "Force", None))
        self.ENC_TRIG_LVL.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.label_6.setText(_translate("Form", "Level", None))
        self.ENC_HZ_POS.setToolTip(_translate("Form", "<html><head/><body><p>Horizontal</p></body></html>", None))
        self.BTN_MEASURE.setText(_translate("Form", "Measure", None))
        self.BTN_ACQUIRE.setText(_translate("Form", "Acquire", None))
        self.BTN_CURSORS.setText(_translate("Form", "Cursors", None))
        self.BTN_DISPLAY.setText(_translate("Form", "Display", None))
        self.BTN_UTILITY.setText(_translate("Form", "Utility", None))
        self.BTN_DEFAULTS.setText(_translate("Form", "Defaults", None))
        self.BTN_HELP.setText(_translate("Form", "Help", None))
        self.BTN_MENU_1.setText(_translate("Form", "I", None))
        self.BTN_MENU_2.setText(_translate("Form", "II", None))
        self.BTN_MENU_3.setText(_translate("Form", "III", None))
        self.BTN_MENU_4.setText(_translate("Form", "IV", None))
        self.BTN_MENU_5.setText(_translate("Form", "V", None))
        self.BTN_HZ_MASK.setText(_translate("Form", "HZ mask", None))
        self.BTN_HZ_MENU.setText(_translate("Form", "HZ menu", None))
        self.BTN_SAVE_TO_FLASH.setText(_translate("Form", "Save", None))
        self.BTN_MATH.setText(_translate("Form", "Math", None))
        self.BTN_REF.setText(_translate("Form", "Ref", None))

osc.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Form</class>
 <widget class="QWidget" name="Form">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>599</width>
    <height>471</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <widget class="QLabel" name="label">
   <property name="geometry">
    <rect>
     <x>390</x>
     <y>440</y>
     <width>54</width>
     <height>16</height>
    </rect>
   </property>
   <property name="text">
    <string>HZ pos</string>
   </property>
   <property name="alignment">
    <set>Qt::AlignCenter</set>
   </property>
  </widget>
  <widget class="QDial" name="ENC_HZ_ZOOM">
   <property name="geometry">
    <rect>
     <x>480</x>
     <y>350</y>
     <width>87</width>
     <height>100</height>
    </rect>
   </property>
   <property name="toolTip">
    <string><html><head/><body><p>Horizontal</p></body></html></string>
   </property>
   <property name="layoutDirection">
    <enum>Qt::LeftToRight</enum>
   </property>
   <property name="tracking">
    <bool>true</bool>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="invertedAppearance">
    <bool>false</bool>
   </property>
   <property name="invertedControls">
    <bool>false</bool>
   </property>
  </widget>
  <widget class="QLabel" name="label_2">
   <property name="geometry">
    <rect>
     <x>490</x>
     <y>440</y>
     <width>63</width>
     <height>16</height>
    </rect>
   </property>
   <property name="text">
    <string>HZ zoom</string>
   </property>
   <property name="alignment">
    <set>Qt::AlignCenter</set>
   </property>
  </widget>
  <widget class="QDial" name="ENC_CH1_V_OFFT">
   <property name="geometry">
    <rect>
     <x>130</x>
     <y>370</y>
     <width>81</width>
     <height>71</height>
    </rect>
   </property>
   <property name="toolTip">
    <string><html><head/><body><p>Horizontal</p></body></html></string>
   </property>
   <property name="layoutDirection">
    <enum>Qt::LeftToRight</enum>
   </property>
   <property name="tracking">
    <bool>true</bool>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="invertedAppearance">
    <bool>false</bool>
   </property>
   <property name="invertedControls">
    <bool>false</bool>
   </property>
  </widget>
  <widget class="QDial" name="ENC_CH1_V_DIV">
   <property name="geometry">
    <rect>
     <x>110</x>
     <y>270</y>
     <width>111</width>
     <height>91</height>
    </rect>
   </property>
   <property name="toolTip">
    <string><html><head/><body><p>Horizontal</p></body></html></string>
   </property>
   <property name="layoutDirection">
    <enum>Qt::LeftToRight</enum>
   </property>
   <property name="tracking">
    <bool>true</bool>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="invertedAppearance">
    <bool>false</bool>
   </property>
   <property name="invertedControls">
    <bool>false</bool>
   </property>
  </widget>
  <widget class="QLabel" name="label_4">
   <property name="geometry">
    <rect>
     <x>200</x>
     <y>310</y>
     <width>61</width>
     <height>21</height>
    </rect>
   </property>
   <property name="text">
    <string>div</string>
   </property>
   <property name="alignment">
    <set>Qt::AlignCenter</set>
   </property>
  </widget>
  <widget class="QLabel" name="label_5">
   <property name="geometry">
    <rect>
     <x>200</x>
     <y>400</y>
     <width>71</width>
     <height>21</height>
    </rect>
   </property>
   <property name="text">
    <string>offset</string>
   </property>
   <property name="alignment">
    <set>Qt::AlignCenter</set>
   </property>
  </widget>
  <widget class="QDial" name="ENC_CH2_V_DIV">
   <property name="geometry">
    <rect>
     <x>250</x>
     <y>270</y>
     <width>101</width>
     <height>91</height>
    </rect>
   </property>
   <property name="toolTip">
    <string><html><head/><body><p>Horizontal</p></body></html></string>
   </property>
   <property name="layoutDirection">
    <enum>Qt::LeftToRight</enum>
   </property>
   <property name="tracking">
    <bool>true</bool>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="invertedAppearance">
    <bool>false</bool>
   </property>
   <property name="invertedControls">
    <bool>false</bool>
   </property>
  </widget>
  <widget class="QDial" name="ENC_CH2_V_OFFT">
   <property name="geometry">
    <rect>
     <x>260</x>
     <y>370</y>
     <width>71</width>
     <height>71</height>
    </rect>
   </property>
   <property name="toolTip">
    <string><html><head/><body><p>Horizontal</p></body></html></string>
   </property>
   <property name="layoutDirection">
    <enum>Qt::LeftToRight</enum>
   </property>
   <property name="tracking">
    <bool>true</bool>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="invertedAppearance">
    <bool>false</bool>
   </property>
   <property name="invertedControls">
    <bool>false</bool>
   </property>
  </widget>
  <widget class="QDial" name="ENC_MENU">
   <property name="geometry">
    <rect>
     <x>120</x>
     <y>30</y>
     <width>31</width>
     <height>31</height>
    </rect>
   </property>
   <property name="toolTip">
    <string><html><head/><body><p>Horizontal</p></body></html></string>
   </property>
   <property name="layoutDirection">
    <enum>Qt::LeftToRight</enum>
   </property>
   <property name="tracking">
    <bool>true</bool>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="invertedAppearance">
    <bool>false</bool>
   </property>
   <property name="invertedControls">
    <bool>false</bool>
   </property>
  </widget>
  <widget class="QPushButton" name="BTN_CH1">
   <property name="geometry">
    <rect>
     <x>130</x>
     <y>210</y>
     <width>81</width>
     <height>51</height>
    </rect>
   </property>
   <property name="text">
    <string>CH1</string>
   </property>
  </widget>
  <widget class="QPushButton" name="BTN_CH2">
   <property name="geometry">
    <rect>
     <x>260</x>
     <y>210</y>
     <width>81</width>
     <height>51</height>
    </rect>
   </property>
   <property name="text">
    <string>CH2</string>
   </property>
  </widget>
  <widget class="QWidget" name="">
   <property name="geometry">
    <rect>
     <x>10</x>
     <y>20</y>
     <width>92</width>
     <height>321</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_2">
    <item>
     <widget class="QPushButton" name="BTN_MENU">
      <property name="text">
       <string>Menu</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_TRIGGER">
      <property name="text">
       <string>Trigger</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_TRIGGER_SINGLE">
      <property name="text">
       <string>Single</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_TRIGGER_RUN_STOP">
      <property name="text">
       <string>Run Stop</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_TRIGGER_MENU">
      <property name="text">
       <string>T Menu</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_TRIGGER_50">
      <property name="text">
       <string>50%</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_TRIGGER_FORCE">
      <property name="text">
       <string>Force</string>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QWidget" name="">
   <property name="geometry">
    <rect>
     <x>10</x>
     <y>340</y>
     <width>91</width>
     <height>111</height>
    </rect>
   </property>
   <layout class="QGridLayout" name="gridLayout_2">
    <item row="0" column="0">
     <widget class="QDial" name="ENC_TRIG_LVL">
      <property name="toolTip">
       <string><html><head/><body><p>Horizontal</p></body></html></string>
      </property>
      <property name="layoutDirection">
       <enum>Qt::LeftToRight</enum>
      </property>
      <property name="tracking">
       <bool>true</bool>
      </property>
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
      <property name="invertedAppearance">
       <bool>false</bool>
      </property>
      <property name="invertedControls">
       <bool>false</bool>
      </property>
     </widget>
    </item>
    <item row="1" column="0">
     <widget class="QLabel" name="label_6">
      <property name="text">
       <string>Level</string>
      </property>
      <property name="alignment">
       <set>Qt::AlignCenter</set>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QDial" name="ENC_HZ_POS">
   <property name="geometry">
    <rect>
     <x>380</x>
     <y>370</y>
     <width>71</width>
     <height>71</height>
    </rect>
   </property>
   <property name="toolTip">
    <string><html><head/><body><p>Horizontal</p></body></html></string>
   </property>
   <property name="layoutDirection">
    <enum>Qt::LeftToRight</enum>
   </property>
   <property name="tracking">
    <bool>true</bool>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="invertedAppearance">
    <bool>false</bool>
   </property>
   <property name="invertedControls">
    <bool>false</bool>
   </property>
  </widget>
  <widget class="QSplitter" name="splitter">
   <property name="geometry">
    <rect>
     <x>370</x>
     <y>30</y>
     <width>201</width>
     <height>321</height>
    </rect>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <widget class="QWidget" name="">
    <layout class="QVBoxLayout" name="verticalLayout_4">
     <item>
      <widget class="QPushButton" name="BTN_MEASURE">
       <property name="text">
        <string>Measure</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_ACQUIRE">
       <property name="text">
        <string>Acquire</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_CURSORS">
       <property name="text">
        <string>Cursors</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_DISPLAY">
       <property name="text">
        <string>Display</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_UTILITY">
       <property name="text">
        <string>Utility</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_DEFAULTS">
       <property name="text">
        <string>Defaults</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_HELP">
       <property name="text">
        <string>Help</string>
       </property>
      </widget>
     </item>
    </layout>
   </widget>
   <widget class="QWidget" name="">
    <layout class="QVBoxLayout" name="verticalLayout">
     <item>
      <widget class="QPushButton" name="BTN_MENU_1">
       <property name="text">
        <string>I</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_MENU_2">
       <property name="text">
        <string>II</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_MENU_3">
       <property name="text">
        <string>III</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_MENU_4">
       <property name="text">
        <string>IV</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_MENU_5">
       <property name="text">
        <string>V</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_HZ_MASK">
       <property name="text">
        <string>HZ mask</string>
       </property>
      </widget>
     </item>
     <item>
      <widget class="QPushButton" name="BTN_HZ_MENU">
       <property name="text">
        <string>HZ menu</string>
       </property>
      </widget>
     </item>
    </layout>
   </widget>
  </widget>
  <widget class="QWidget" name="">
   <property name="geometry">
    <rect>
     <x>190</x>
     <y>20</y>
     <width>87</width>
     <height>151</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
     <widget class="QPushButton" name="BTN_SAVE_TO_FLASH">
      <property name="text">
       <string>Save</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_MATH">
      <property name="text">
       <string>Math</string>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="BTN_REF">
      <property name="text">
       <string>Ref</string>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <zorder>BTN_MENU</zorder>
  <zorder>BTN_MENU_1</zorder>
  <zorder>ENC_HZ_POS</zorder>
  <zorder>BTN_MENU_2</zorder>
  <zorder>BTN_MENU_3</zorder>
  <zorder>BTN_MENU_4</zorder>
  <zorder>BTN_MENU_5</zorder>
  <zorder>BTN_TRIGGER</zorder>
  <zorder>BTN_TRIGGER_SINGLE</zorder>
  <zorder>BTN_TRIGGER_RUN_STOP</zorder>
  <zorder>BTN_TRIGGER_MENU</zorder>
  <zorder>label</zorder>
  <zorder>ENC_HZ_ZOOM</zorder>
  <zorder>label_2</zorder>
  <zorder>ENC_CH1_V_OFFT</zorder>
  <zorder>ENC_CH1_V_DIV</zorder>
  <zorder>label_4</zorder>
  <zorder>label_5</zorder>
  <zorder>ENC_CH2_V_DIV</zorder>
  <zorder>ENC_CH2_V_OFFT</zorder>
  <zorder>ENC_TRIG_LVL</zorder>
  <zorder>BTN_TRIGGER_50</zorder>
  <zorder>BTN_TRIGGER_FORCE</zorder>
  <zorder>BTN_HZ_MENU</zorder>
  <zorder>label_6</zorder>
  <zorder>ENC_HZ_POS</zorder>
  <zorder>ENC_HZ_POS</zorder>
  <zorder>ENC_MENU</zorder>
  <zorder>BTN_SAVE_TO_FLASH</zorder>
  <zorder>BTN_MEASURE</zorder>
  <zorder>BTN_ACQUIRE</zorder>
  <zorder>BTN_CURSORS</zorder>
  <zorder>BTN_DISPLAY</zorder>
  <zorder>BTN_UTILITY</zorder>
  <zorder>BTN_DEFAULTS</zorder>
  <zorder>BTN_HELP</zorder>
  <zorder>BTN_CH1</zorder>
  <zorder>BTN_CH2</zorder>
  <zorder>BTN_MATH</zorder>
  <zorder>BTN_REF</zorder>
 </widget>
 <resources/>
 <connections/>
</ui>

No comments:

Post a Comment