프로젝트

일반

사용자정보

개정판 958a7796

ID958a779605b48f08983e257e7e6af266b1acc59c
상위 11b219bb
하위 79edc68d, 6da52b98

함의성이(가) 2년 이상 전에 추가함

add listening port setting

Change-Id: Iad4183abe1a79ba7bc0588bce98a5e817669dcfd

차이점 보기:

DTI_PID/DTI_PID/ConfigurationDialog.py
569 569
                self.ui.radioButtonOpModeGenenal.setChecked(True)
570 570
                self.ui.radioButtonOpModeInst.setChecked(False)
571 571

  
572
            # app config for individual user
573
            configs = docData.getAppConfigs('app', 'port')
574
            self.ui.spinBoxListeningPort.setValue(int(configs[0].value) if configs else 2549)
575

  
572 576
            # connect signals and slots
573 577
            self.ui.pushButtonCopyProperty.clicked.connect(self.copyLineProperty)
574 578
            self.ui.pushButtonAddProperty.clicked.connect(self.addLineProperty)
......
1320 1324
            configs.append(Config('Engine', 'AI', '1' if self.ui.radioButtonAI1.isChecked() else ('2' if self.ui.radioButtonAI2.isChecked() else '3')))
1321 1325
            configs.append(Config('Engine', 'OCR', '1' if self.ui.radioButtonOCRLocal.isChecked() else '-1'))
1322 1326
            configs.append(Config('Project', 'Operation', '1' if self.ui.radioButtonOpModeGenenal.isChecked() else '-1'))
1327
            
1328
            # app config
1329
            app_configs = []
1330
            app_configs.append(Config('app', 'port', self.ui.spinBoxListeningPort.value()))
1323 1331

  
1332
            docData.saveAppConfigs(app_configs)
1324 1333
            docData.saveConfigs(configs)
1325 1334
            docData.updateProjectUnit('Imperial' if self.ui.radioButtonSizeUnitImaperial.isChecked() else 'Metric')
1326 1335
            docData.lineTypeConfigs = None  # clear line type configurations
DTI_PID/DTI_PID/Configuration_UI.py
753 753
        self.gridLayout_31.setObjectName("gridLayout_31")
754 754
        spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
755 755
        self.gridLayout_31.addItem(spacerItem7, 1, 2, 1, 1)
756
        self.label_58 = QtWidgets.QLabel(self.groupBox_11)
757
        self.label_58.setObjectName("label_58")
758
        self.gridLayout_31.addWidget(self.label_58, 3, 0, 1, 1)
759
        self.label_31 = QtWidgets.QLabel(self.groupBox_11)
760
        self.label_31.setMinimumSize(QtCore.QSize(200, 0))
761
        self.label_31.setObjectName("label_31")
762
        self.gridLayout_31.addWidget(self.label_31, 4, 0, 1, 1)
763
        self.label_30 = QtWidgets.QLabel(self.groupBox_11)
764
        self.label_30.setObjectName("label_30")
765
        self.gridLayout_31.addWidget(self.label_30, 1, 0, 1, 1)
766
        self.pushButtonClearAccessInfo = QtWidgets.QPushButton(self.groupBox_11)
767
        self.pushButtonClearAccessInfo.setObjectName("pushButtonClearAccessInfo")
768
        self.gridLayout_31.addWidget(self.pushButtonClearAccessInfo, 4, 1, 1, 1)
769
        self.horizontalLayout_14 = QtWidgets.QHBoxLayout()
770
        self.horizontalLayout_14.setObjectName("horizontalLayout_14")
771
        self.radioButtonLineListYes = QtWidgets.QRadioButton(self.groupBox_11)
772
        self.radioButtonLineListYes.setObjectName("radioButtonLineListYes")
773
        self.buttonGroup_11 = QtWidgets.QButtonGroup(ConfigurationDialog)
774
        self.buttonGroup_11.setObjectName("buttonGroup_11")
775
        self.buttonGroup_11.addButton(self.radioButtonLineListYes)
776
        self.horizontalLayout_14.addWidget(self.radioButtonLineListYes)
777
        self.radioButtonLineListNo = QtWidgets.QRadioButton(self.groupBox_11)
778
        self.radioButtonLineListNo.setObjectName("radioButtonLineListNo")
779
        self.buttonGroup_11.addButton(self.radioButtonLineListNo)
780
        self.horizontalLayout_14.addWidget(self.radioButtonLineListNo)
781
        self.gridLayout_31.addLayout(self.horizontalLayout_14, 3, 1, 1, 1)
782
        self.spinBoxSaveAlarm = QtWidgets.QSpinBox(self.groupBox_11)
783
        self.spinBoxSaveAlarm.setMaximum(100)
784
        self.spinBoxSaveAlarm.setSingleStep(10)
785
        self.spinBoxSaveAlarm.setObjectName("spinBoxSaveAlarm")
786
        self.gridLayout_31.addWidget(self.spinBoxSaveAlarm, 0, 1, 1, 1)
787
        self.label_49 = QtWidgets.QLabel(self.groupBox_11)
788
        self.label_49.setObjectName("label_49")
789
        self.gridLayout_31.addWidget(self.label_49, 0, 0, 1, 1)
756 790
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
757 791
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
758 792
        self.radioButtonSaveUnknownYes = QtWidgets.QRadioButton(self.groupBox_11)
......
787 821
        self.buttonGroup.addButton(self.radioButtonLoadXmlNo)
788 822
        self.horizontalLayout_3.addWidget(self.radioButtonLoadXmlNo)
789 823
        self.gridLayout_31.addLayout(self.horizontalLayout_3, 1, 1, 1, 1)
790
        self.label_49 = QtWidgets.QLabel(self.groupBox_11)
791
        self.label_49.setObjectName("label_49")
792
        self.gridLayout_31.addWidget(self.label_49, 0, 0, 1, 1)
793
        self.spinBoxSaveAlarm = QtWidgets.QSpinBox(self.groupBox_11)
794
        self.spinBoxSaveAlarm.setMaximum(100)
795
        self.spinBoxSaveAlarm.setSingleStep(10)
796
        self.spinBoxSaveAlarm.setObjectName("spinBoxSaveAlarm")
797
        self.gridLayout_31.addWidget(self.spinBoxSaveAlarm, 0, 1, 1, 1)
798
        self.label_31 = QtWidgets.QLabel(self.groupBox_11)
799
        self.label_31.setMinimumSize(QtCore.QSize(200, 0))
800
        self.label_31.setObjectName("label_31")
801
        self.gridLayout_31.addWidget(self.label_31, 4, 0, 1, 1)
802
        self.label_30 = QtWidgets.QLabel(self.groupBox_11)
803
        self.label_30.setObjectName("label_30")
804
        self.gridLayout_31.addWidget(self.label_30, 1, 0, 1, 1)
805
        self.pushButtonClearAccessInfo = QtWidgets.QPushButton(self.groupBox_11)
806
        self.pushButtonClearAccessInfo.setObjectName("pushButtonClearAccessInfo")
807
        self.gridLayout_31.addWidget(self.pushButtonClearAccessInfo, 4, 1, 1, 1)
808 824
        self.label_34 = QtWidgets.QLabel(self.groupBox_11)
809 825
        self.label_34.setObjectName("label_34")
810 826
        self.gridLayout_31.addWidget(self.label_34, 2, 0, 1, 1)
811
        self.label_58 = QtWidgets.QLabel(self.groupBox_11)
812
        self.label_58.setObjectName("label_58")
813
        self.gridLayout_31.addWidget(self.label_58, 3, 0, 1, 1)
814
        self.horizontalLayout_14 = QtWidgets.QHBoxLayout()
815
        self.horizontalLayout_14.setObjectName("horizontalLayout_14")
816
        self.radioButtonLineListYes = QtWidgets.QRadioButton(self.groupBox_11)
817
        self.radioButtonLineListYes.setObjectName("radioButtonLineListYes")
818
        self.buttonGroup_11 = QtWidgets.QButtonGroup(ConfigurationDialog)
819
        self.buttonGroup_11.setObjectName("buttonGroup_11")
820
        self.buttonGroup_11.addButton(self.radioButtonLineListYes)
821
        self.horizontalLayout_14.addWidget(self.radioButtonLineListYes)
822
        self.radioButtonLineListNo = QtWidgets.QRadioButton(self.groupBox_11)
823
        self.radioButtonLineListNo.setObjectName("radioButtonLineListNo")
824
        self.buttonGroup_11.addButton(self.radioButtonLineListNo)
825
        self.horizontalLayout_14.addWidget(self.radioButtonLineListNo)
826
        self.gridLayout_31.addLayout(self.horizontalLayout_14, 3, 1, 1, 1)
827
        self.label_61 = QtWidgets.QLabel(self.groupBox_11)
828
        self.label_61.setObjectName("label_61")
829
        self.gridLayout_31.addWidget(self.label_61, 5, 0, 1, 1)
830
        self.spinBoxListeningPort = QtWidgets.QSpinBox(self.groupBox_11)
831
        self.spinBoxListeningPort.setMaximum(9999)
832
        self.spinBoxListeningPort.setProperty("value", 2549)
833
        self.spinBoxListeningPort.setObjectName("spinBoxListeningPort")
834
        self.gridLayout_31.addWidget(self.spinBoxListeningPort, 5, 1, 1, 1)
827 835
        self.gridLayout_23.addLayout(self.gridLayout_31, 0, 0, 1, 1)
828 836
        self.gridLayout_21.addWidget(self.groupBox_11, 0, 0, 1, 1)
829 837
        self.groupBox_12 = QtWidgets.QGroupBox(self.tabETC)
......
1140 1148
        self.label_25.setText(_translate("ConfigurationDialog", "Color Representation"))
1141 1149
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabLineColor), _translate("ConfigurationDialog", "Line No Color"))
1142 1150
        self.groupBox_11.setTitle(_translate("ConfigurationDialog", "Program Data"))
1151
        self.label_58.setText(_translate("ConfigurationDialog", "Line List by Using Stream No : "))
1152
        self.label_31.setText(_translate("ConfigurationDialog", "Clear Drawing Access Information : "))
1153
        self.label_30.setText(_translate("ConfigurationDialog", "Load Data From : "))
1154
        self.pushButtonClearAccessInfo.setText(_translate("ConfigurationDialog", "Clear"))
1155
        self.radioButtonLineListYes.setText(_translate("ConfigurationDialog", "Yes"))
1156
        self.radioButtonLineListNo.setText(_translate("ConfigurationDialog", "No"))
1157
        self.label_49.setText(_translate("ConfigurationDialog", "Save Alarm(min) : "))
1143 1158
        self.radioButtonSaveUnknownYes.setText(_translate("ConfigurationDialog", "Yes"))
1144 1159
        self.radioButtonSaveUnknownNo.setText(_translate("ConfigurationDialog", "No"))
1145 1160
        self.radioButtonLoadXmlOnly.setText(_translate("ConfigurationDialog", "XML Only"))
1146 1161
        self.radioButtonLoadXmlYes.setText(_translate("ConfigurationDialog", "XML Frist"))
1147 1162
        self.radioButtonLoadXmlNo.setText(_translate("ConfigurationDialog", "Database Only"))
1148
        self.label_49.setText(_translate("ConfigurationDialog", "Save Alarm(min)"))
1149
        self.label_31.setText(_translate("ConfigurationDialog", "Clear Drawing Access Information"))
1150
        self.label_30.setText(_translate("ConfigurationDialog", "Load Data From"))
1151
        self.pushButtonClearAccessInfo.setText(_translate("ConfigurationDialog", "Clear"))
1152
        self.label_34.setText(_translate("ConfigurationDialog", "Save Unknown Item to XML Only"))
1153
        self.label_58.setText(_translate("ConfigurationDialog", "Line List by Using Stream No"))
1154
        self.radioButtonLineListYes.setText(_translate("ConfigurationDialog", "Yes"))
1155
        self.radioButtonLineListNo.setText(_translate("ConfigurationDialog", "No"))
1163
        self.label_34.setText(_translate("ConfigurationDialog", "Save Unknown Item to XML Only : "))
1164
        self.label_61.setText(_translate("ConfigurationDialog", "Listening Port(2549) : "))
1156 1165
        self.groupBox_12.setTitle(_translate("ConfigurationDialog", "Visual"))
1157
        self.label_36.setText(_translate("ConfigurationDialog", "Background Text Transparency"))
1166
        self.label_36.setText(_translate("ConfigurationDialog", "Background Text Transparency : "))
1158 1167
        self.radioButtonBackTextYes.setText(_translate("ConfigurationDialog", "Yes"))
1159 1168
        self.radioButtonBackTextNo.setText(_translate("ConfigurationDialog", "No"))
1160 1169
        self.groupBox_13.setTitle(_translate("ConfigurationDialog", "Recognition Engine"))
1161
        self.label_46.setText(_translate("ConfigurationDialog", "Text Area"))
1170
        self.label_46.setText(_translate("ConfigurationDialog", "Text Area : "))
1162 1171
        self.radioButtonOCRLocal.setText(_translate("ConfigurationDialog", "Local"))
1163 1172
        self.radioButtonOCRServer.setText(_translate("ConfigurationDialog", "Server"))
1164 1173
        self.radioButtonTextAreaLocal.setText(_translate("ConfigurationDialog", "Local"))
1165 1174
        self.radioButtonTextAreaServer.setText(_translate("ConfigurationDialog", "Server"))
1166 1175
        self.radioButtonSymbolLocal.setText(_translate("ConfigurationDialog", "Local"))
1167 1176
        self.radioButtonSymbolServer.setText(_translate("ConfigurationDialog", "Server"))
1168
        self.label_48.setText(_translate("ConfigurationDialog", "Server Address"))
1169
        self.label_47.setText(_translate("ConfigurationDialog", "OCR"))
1170
        self.label_51.setText(_translate("ConfigurationDialog", "Symbol(Server Threshold(%))"))
1177
        self.label_48.setText(_translate("ConfigurationDialog", "Server Address : "))
1178
        self.label_47.setText(_translate("ConfigurationDialog", "OCR : "))
1179
        self.label_51.setText(_translate("ConfigurationDialog", "Symbol(Server Threshold(%)) : "))
1171 1180
        self.pushButtonServerTest.setText(_translate("ConfigurationDialog", "Test Connection"))
1172
        self.label_57.setText(_translate("ConfigurationDialog", "AI Mode"))
1181
        self.label_57.setText(_translate("ConfigurationDialog", "AI Mode : "))
1173 1182
        self.radioButtonAI1.setText(_translate("ConfigurationDialog", "Yolo(Default)"))
1174 1183
        self.radioButtonAI2.setText(_translate("ConfigurationDialog", "SSD"))
1175 1184
        self.radioButtonAI3.setText(_translate("ConfigurationDialog", "Faster RCNN"))
1176 1185
        self.groupBox_14.setTitle(_translate("ConfigurationDialog", "Project"))
1177
        self.label_55.setText(_translate("ConfigurationDialog", "Operation Mode"))
1186
        self.label_55.setText(_translate("ConfigurationDialog", "Operation Mode : "))
1178 1187
        self.radioButtonOpModeGenenal.setText(_translate("ConfigurationDialog", "Genenal"))
1179 1188
        self.radioButtonOpModeInst.setText(_translate("ConfigurationDialog", "Instrument"))
1180 1189
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabETC), _translate("ConfigurationDialog", "ETC"))
DTI_PID/DTI_PID/MainWindow.py
1565 1565
    def on_ext_app_connection(self):
1566 1566
        from TcpServer import TcpServer
1567 1567

  
1568
        app_doc_data = AppDocData.instance()
1569

  
1568 1570
        tool_pane = self.ribbon.get_pane('Tool')
1569 1571
        if tool_pane.ui.toolButtonConnection.isChecked():
1570 1572
            if not hasattr(self, '_tcpserver'):
1571
                self._tcpserver = TcpServer()
1573
                configs = app_doc_data.getAppConfigs('app', 'port')
1574
                port = 2549
1575
                if configs and 1 == len(configs):
1576
                    port = int(configs[0].value)
1577
                self._tcpserver = TcpServer(port)
1572 1578
                self._tcpserver.sessionOpened()
1573 1579
        else:
1574 1580
            self._tcpserver.sessionClosed()
DTI_PID/DTI_PID/TcpServer.py
6 6

  
7 7

  
8 8
class TcpServer(QDialog):
9
    def __init__(self):
9
    def __init__(self, port):
10 10
        super().__init__()
11 11
        self.tcpServer = None
12
        self.port = port
12 13

  
13 14
    def sessionOpened(self):
14 15
        self.tcpServer = QTcpServer(self)
15
        PORT = 2549
16
        PORT = self.port
16 17
        address = QHostAddress('127.0.0.1')
17 18
        if not self.tcpServer.listen(address, PORT):
18 19
            print("cant listen!")
DTI_PID/DTI_PID/UI/Configuration.ui
1554 1554
                </property>
1555 1555
               </spacer>
1556 1556
              </item>
1557
              <item row="3" column="0">
1558
               <widget class="QLabel" name="label_58">
1559
                <property name="text">
1560
                 <string>Line List by Using Stream No : </string>
1561
                </property>
1562
               </widget>
1563
              </item>
1564
              <item row="4" column="0">
1565
               <widget class="QLabel" name="label_31">
1566
                <property name="minimumSize">
1567
                 <size>
1568
                  <width>200</width>
1569
                  <height>0</height>
1570
                 </size>
1571
                </property>
1572
                <property name="text">
1573
                 <string>Clear Drawing Access Information : </string>
1574
                </property>
1575
               </widget>
1576
              </item>
1577
              <item row="1" column="0">
1578
               <widget class="QLabel" name="label_30">
1579
                <property name="text">
1580
                 <string>Load Data From : </string>
1581
                </property>
1582
               </widget>
1583
              </item>
1584
              <item row="4" column="1">
1585
               <widget class="QPushButton" name="pushButtonClearAccessInfo">
1586
                <property name="text">
1587
                 <string>Clear</string>
1588
                </property>
1589
               </widget>
1590
              </item>
1591
              <item row="3" column="1">
1592
               <layout class="QHBoxLayout" name="horizontalLayout_14">
1593
                <item>
1594
                 <widget class="QRadioButton" name="radioButtonLineListYes">
1595
                  <property name="text">
1596
                   <string>Yes</string>
1597
                  </property>
1598
                  <attribute name="buttonGroup">
1599
                   <string notr="true">buttonGroup_11</string>
1600
                  </attribute>
1601
                 </widget>
1602
                </item>
1603
                <item>
1604
                 <widget class="QRadioButton" name="radioButtonLineListNo">
1605
                  <property name="text">
1606
                   <string>No</string>
1607
                  </property>
1608
                  <attribute name="buttonGroup">
1609
                   <string notr="true">buttonGroup_11</string>
1610
                  </attribute>
1611
                 </widget>
1612
                </item>
1613
               </layout>
1614
              </item>
1615
              <item row="0" column="1">
1616
               <widget class="QSpinBox" name="spinBoxSaveAlarm">
1617
                <property name="maximum">
1618
                 <number>100</number>
1619
                </property>
1620
                <property name="singleStep">
1621
                 <number>10</number>
1622
                </property>
1623
               </widget>
1624
              </item>
1625
              <item row="0" column="0">
1626
               <widget class="QLabel" name="label_49">
1627
                <property name="text">
1628
                 <string>Save Alarm(min) : </string>
1629
                </property>
1630
               </widget>
1631
              </item>
1557 1632
              <item row="2" column="1">
1558 1633
               <layout class="QHBoxLayout" name="horizontalLayout_4">
1559 1634
                <item>
......
1624 1699
                </item>
1625 1700
               </layout>
1626 1701
              </item>
1627
              <item row="0" column="0">
1628
               <widget class="QLabel" name="label_49">
1629
                <property name="text">
1630
                 <string>Save Alarm(min)</string>
1631
                </property>
1632
               </widget>
1633
              </item>
1634
              <item row="0" column="1">
1635
               <widget class="QSpinBox" name="spinBoxSaveAlarm">
1636
                <property name="maximum">
1637
                 <number>100</number>
1638
                </property>
1639
                <property name="singleStep">
1640
                 <number>10</number>
1641
                </property>
1642
               </widget>
1643
              </item>
1644
              <item row="4" column="0">
1645
               <widget class="QLabel" name="label_31">
1646
                <property name="minimumSize">
1647
                 <size>
1648
                  <width>200</width>
1649
                  <height>0</height>
1650
                 </size>
1651
                </property>
1652
                <property name="text">
1653
                 <string>Clear Drawing Access Information</string>
1654
                </property>
1655
               </widget>
1656
              </item>
1657
              <item row="1" column="0">
1658
               <widget class="QLabel" name="label_30">
1702
              <item row="2" column="0">
1703
               <widget class="QLabel" name="label_34">
1659 1704
                <property name="text">
1660
                 <string>Load Data From</string>
1705
                 <string>Save Unknown Item to XML Only : </string>
1661 1706
                </property>
1662 1707
               </widget>
1663 1708
              </item>
1664
              <item row="4" column="1">
1665
               <widget class="QPushButton" name="pushButtonClearAccessInfo">
1709
              <item row="5" column="0">
1710
               <widget class="QLabel" name="label_61">
1666 1711
                <property name="text">
1667
                 <string>Clear</string>
1712
                 <string>Listening Port(2549) : </string>
1668 1713
                </property>
1669 1714
               </widget>
1670 1715
              </item>
1671
              <item row="2" column="0">
1672
               <widget class="QLabel" name="label_34">
1673
                <property name="text">
1674
                 <string>Save Unknown Item to XML Only</string>
1716
              <item row="5" column="1">
1717
               <widget class="QSpinBox" name="spinBoxListeningPort">
1718
                <property name="maximum">
1719
                 <number>9999</number>
1675 1720
                </property>
1676
               </widget>
1677
              </item>
1678
              <item row="3" column="0">
1679
               <widget class="QLabel" name="label_58">
1680
                <property name="text">
1681
                 <string>Line List by Using Stream No</string>
1721
                <property name="value">
1722
                 <number>2549</number>
1682 1723
                </property>
1683 1724
               </widget>
1684 1725
              </item>
1685
              <item row="3" column="1">
1686
               <layout class="QHBoxLayout" name="horizontalLayout_14">
1687
                <item>
1688
                 <widget class="QRadioButton" name="radioButtonLineListYes">
1689
                  <property name="text">
1690
                   <string>Yes</string>
1691
                  </property>
1692
                  <attribute name="buttonGroup">
1693
                   <string notr="true">buttonGroup_11</string>
1694
                  </attribute>
1695
                 </widget>
1696
                </item>
1697
                <item>
1698
                 <widget class="QRadioButton" name="radioButtonLineListNo">
1699
                  <property name="text">
1700
                   <string>No</string>
1701
                  </property>
1702
                  <attribute name="buttonGroup">
1703
                   <string notr="true">buttonGroup_11</string>
1704
                  </attribute>
1705
                 </widget>
1706
                </item>
1707
               </layout>
1708
              </item>
1709 1726
             </layout>
1710 1727
            </item>
1711 1728
           </layout>
......
1741 1758
                 </size>
1742 1759
                </property>
1743 1760
                <property name="text">
1744
                 <string>Background Text Transparency</string>
1761
                 <string>Background Text Transparency : </string>
1745 1762
                </property>
1746 1763
               </widget>
1747 1764
              </item>
......
1791 1808
                 </size>
1792 1809
                </property>
1793 1810
                <property name="text">
1794
                 <string>Text Area</string>
1811
                 <string>Text Area : </string>
1795 1812
                </property>
1796 1813
               </widget>
1797 1814
              </item>
......
1864 1881
              <item row="0" column="0">
1865 1882
               <widget class="QLabel" name="label_48">
1866 1883
                <property name="text">
1867
                 <string>Server Address</string>
1884
                 <string>Server Address : </string>
1868 1885
                </property>
1869 1886
               </widget>
1870 1887
              </item>
1871 1888
              <item row="4" column="0">
1872 1889
               <widget class="QLabel" name="label_47">
1873 1890
                <property name="text">
1874
                 <string>OCR</string>
1891
                 <string>OCR : </string>
1875 1892
                </property>
1876 1893
               </widget>
1877 1894
              </item>
......
1894 1911
              <item row="2" column="0">
1895 1912
               <widget class="QLabel" name="label_51">
1896 1913
                <property name="text">
1897
                 <string>Symbol(Server Threshold(%))</string>
1914
                 <string>Symbol(Server Threshold(%)) : </string>
1898 1915
                </property>
1899 1916
               </widget>
1900 1917
              </item>
......
1911 1928
              <item row="3" column="0">
1912 1929
               <widget class="QLabel" name="label_57">
1913 1930
                <property name="text">
1914
                 <string>AI Mode</string>
1931
                 <string>AI Mode : </string>
1915 1932
                </property>
1916 1933
               </widget>
1917 1934
              </item>
......
1971 1988
                 </size>
1972 1989
                </property>
1973 1990
                <property name="text">
1974
                 <string>Operation Mode</string>
1991
                 <string>Operation Mode : </string>
1975 1992
                </property>
1976 1993
               </widget>
1977 1994
              </item>
......
2135 2152
  </connection>
2136 2153
 </connections>
2137 2154
 <buttongroups>
2155
  <buttongroup name="buttonGroup_12"/>
2138 2156
  <buttongroup name="buttonGroup_4"/>
2139
  <buttongroup name="buttonGroup_11"/>
2140
  <buttongroup name="buttonGroup_10"/>
2141
  <buttongroup name="buttonGroup_13"/>
2157
  <buttongroup name="buttonGroup_6"/>
2158
  <buttongroup name="buttonGroup_5"/>
2159
  <buttongroup name="buttonGroup_3"/>
2142 2160
  <buttongroup name="buttonGroup_9"/>
2143
  <buttongroup name="buttonGroup"/>
2144 2161
  <buttongroup name="buttonGroup_7"/>
2145 2162
  <buttongroup name="buttonGroup_8"/>
2146
  <buttongroup name="buttonGroup_3"/>
2163
  <buttongroup name="buttonGroup_13"/>
2164
  <buttongroup name="buttonGroup"/>
2165
  <buttongroup name="buttonGroup_11"/>
2166
  <buttongroup name="buttonGroup_10"/>
2147 2167
  <buttongroup name="buttonGroup_2"/>
2148
  <buttongroup name="buttonGroup_5"/>
2149
  <buttongroup name="buttonGroup_12"/>
2150
  <buttongroup name="buttonGroup_6"/>
2151 2168
 </buttongroups>
2152 2169
</ui>

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)