简单 CoAP 客户端范例
<?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>731</width> <height>530</height> </rect> </property> <property name="windowTitle"> <string>CoAP Client</string> </property> <widget class="QWidget" name="centralWidget"> <layout class="QGridLayout" name="gridLayout_3"> <item row="0" column="0"> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> <widget class="QLabel" name="label"> <property name="text"> <string>Host</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> <item row="4" column="0"> <widget class="QLabel" name="label_4"> <property name="text"> <string>Request Method</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> <item row="3" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> <widget class="QComboBox" name="resourceComboBox"> <property name="sizePolicy"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="editable"> <bool>true</bool> </property> </widget> </item> <item> <widget class="QPushButton" name="observeButton"> <property name="enabled"> <bool>false</bool> </property> <property name="text"> <string>Observe</string> </property> </widget> </item> <item> <spacer name="horizontalSpacer_3"> <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="0" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_5"> <item> <widget class="QComboBox" name="hostComboBox"> <property name="sizePolicy"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="minimumSize"> <size> <width>250</width> <height>0</height> </size> </property> <property name="editable"> <bool>true</bool> </property> </widget> </item> <item> <spacer name="horizontalSpacer"> <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> </layout> </item> <item row="4" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_3"> <item> <widget class="QComboBox" name="methodComboBox"> <property name="sizePolicy"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="minimumSize"> <size> <width>150</width> <height>0</height> </size> </property> </widget> </item> <item> <widget class="QCheckBox" name="msgTypeCheckBox"> <property name="text"> <string>Confirmable</string> </property> </widget> </item> <item> <widget class="QPushButton" name="addOptionsButton"> <property name="text"> <string>Add Options</string> </property> </widget> </item> <item> <widget class="QPushButton" name="contentButton"> <property name="enabled"> <bool>false</bool> </property> <property name="text"> <string>Add Content</string> </property> </widget> </item> <item> <spacer name="horizontalSpacer_4"> <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="2" column="0"> <widget class="QLabel" name="label_8"> <property name="text"> <string>Disscovery Path:</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> <item row="6" column="0" colspan="2"> <widget class="QGroupBox" name="groupBox"> <property name="title"> <string>Output</string> </property> <layout class="QGridLayout" name="gridLayout_2"> <item row="0" column="0"> <widget class="QTextEdit" name="textEdit"> <property name="readOnly"> <bool>true</bool> </property> </widget> </item> </layout> </widget> </item> <item row="1" column="0"> <widget class="QLabel" name="label_2"> <property name="text"> <string>Port</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> <item row="5" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_12"> <item> <widget class="QPushButton" name="runButton"> <property name="text"> <string>Run</string> </property> </widget> </item> <item> <widget class="QPushButton" name="cancelObserveButton"> <property name="enabled"> <bool>false</bool> </property> <property name="text"> <string>Cancel Observe</string> </property> </widget> </item> <item> <spacer name="horizontalSpacer_6"> <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="3" column="0"> <widget class="QLabel" name="label_3"> <property name="text"> <string>Resource</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> </widget> </item> <item row="2" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_13"> <item> <widget class="QLineEdit" name="discoveryPathEdit"> <property name="text"> <string>/.well-known/core</string> </property> </widget> </item> <item> <widget class="QPushButton" name="discoverButton"> <property name="text"> <string>Discover</string> </property> </widget> </item> <item> <spacer name="horizontalSpacer_7"> <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="1"> <layout class="QHBoxLayout" name="horizontalLayout_6"> <item> <widget class="QSpinBox" name="portSpinBox"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="minimumSize"> <size> <width>100</width> <height>0</height> </size> </property> <property name="maximum"> <number>65535</number> </property> <property name="value"> <number>5683</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="5" column="0"> <widget class="QLabel" name="label_7"> <property name="text"> <string/> </property> </widget> </item> </layout> </item> </layout> </widget> <widget class="QMenuBar" name="menuBar"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>731</width> <height>22</height> </rect> </property> </widget> <widget class="QToolBar" name="mainToolBar"> <attribute name="toolBarArea"> <enum>TopToolBarArea</enum> </attribute> <attribute name="toolBarBreak"> <bool>false</bool> </attribute> </widget> <widget class="QStatusBar" name="statusBar"/> </widget> <layoutdefault spacing="6" margin="11"/> <resources/> <connections/> </ui>