Browse Source

commitment scares me

curiousmuch 7 years ago
parent
commit
d82e02f96c
6 changed files with 180 additions and 63 deletions
  1. 53 0
      Qt/ideasxdevice.ui
  2. 53 0
      Qt/ideasxdevice.ui.autosave
  3. 13 34
      Qt/mainwindow.ui
  4. 12 14
      gui_example.py
  5. 40 0
      ideasxdevice.py
  6. 9 15
      mainwindow.py

+ 53 - 0
Qt/ideasxdevice.ui

@@ -0,0 +1,53 @@
+<?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>355</width>
+    <height>60</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="1">
+    <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="0">
+    <widget class="QLabel" name="label">
+     <property name="font">
+      <font>
+       <pointsize>16</pointsize>
+      </font>
+     </property>
+     <property name="text">
+      <string>John Doe</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="3">
+    <widget class="QPushButton" name="pushButton">
+     <property name="text">
+      <string>Activate</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

+ 53 - 0
Qt/ideasxdevice.ui.autosave

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>QtWidget</class>
+ <widget class="QWidget" name="QtWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>355</width>
+    <height>60</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="1">
+    <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="0">
+    <widget class="QLabel" name="label">
+     <property name="font">
+      <font>
+       <pointsize>16</pointsize>
+      </font>
+     </property>
+     <property name="text">
+      <string>John Doe</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="3">
+    <widget class="QPushButton" name="pushButton">
+     <property name="text">
+      <string>Activate</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

+ 13 - 34
Qt/mainwindow.ui

@@ -48,7 +48,7 @@
        <enum>QTabWidget::West</enum>
       </property>
       <property name="currentIndex">
-       <number>2</number>
+       <number>0</number>
       </property>
       <property name="elideMode">
        <enum>Qt::ElideNone</enum>
@@ -70,6 +70,16 @@
         <string>Encoders</string>
        </attribute>
        <layout class="QGridLayout" name="gridLayout">
+        <item row="1" column="1">
+         <widget class="QLineEdit" name="searchEncoder">
+          <property name="placeholderText">
+           <string>Search for Encoder by Username or Device ID</string>
+          </property>
+          <property name="clearButtonEnabled">
+           <bool>true</bool>
+          </property>
+         </widget>
+        </item>
         <item row="1" column="0">
          <spacer name="horizontalSpacer">
           <property name="orientation">
@@ -83,42 +93,11 @@
           </property>
          </spacer>
         </item>
-        <item row="1" column="1">
-         <widget class="QLineEdit" name="searchEncoder">
-          <property name="placeholderText">
-           <string>Search for Encoder by Username or Device ID</string>
-          </property>
-          <property name="clearButtonEnabled">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
         <item row="0" column="0" colspan="2">
-         <widget class="QTableView" name="tableEncoder">
-          <property name="enabled">
-           <bool>true</bool>
-          </property>
-          <property name="frameShadow">
-           <enum>QFrame::Sunken</enum>
-          </property>
-          <property name="alternatingRowColors">
-           <bool>true</bool>
-          </property>
-          <property name="showGrid">
-           <bool>false</bool>
-          </property>
-          <property name="gridStyle">
-           <enum>Qt::NoPen</enum>
-          </property>
+         <widget class="QListWidget" name="listEncoder">
           <property name="sortingEnabled">
-           <bool>true</bool>
-          </property>
-          <attribute name="horizontalHeaderStretchLastSection">
-           <bool>true</bool>
-          </attribute>
-          <attribute name="verticalHeaderVisible">
            <bool>false</bool>
-          </attribute>
+          </property>
          </widget>
         </item>
        </layout>

+ 12 - 14
gui_example.py

@@ -1,26 +1,23 @@
 import sys
 from PyQt5 import QtCore, QtGui, QtWidgets, QtSql
 from mainwindow import Ui_MainWindow
+from ideasxdevice import Ui_Form
 
 class IdeasXUI(Ui_MainWindow):
     def __init__(self, MainWindow):
         Ui_MainWindow.__init__(self)
         self.setupUi(MainWindow)
         MainWindow.setWindowIcon(QtGui.QIcon("./icon/IDEAS.png"))
-        db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
-        db.setDatabaseName('IdeasX.db')
-        self.encoderModel = QtSql.QSqlTableModel()
-        delrow = -1 
-        self.encoderModel.setTable('encoder')
-        self.encoderModel.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)
-        self.encoderModel.select()
-        self.encoderModel.setHeaderData(0, QtCore.Qt.Horizontal, "Module ID")
-        self.encoderModel.setHeaderData(1, QtCore.Qt.Horizontal, "Battery Capacity")
-        self.encoderModel.setHeaderData(2, QtCore.Qt.Horizontal, "Battery Voltage")
-        self.tableEncoder.setModel(self.encoderModel)
-        
-        self.tableEncoder.resizeColumnsToContents()
+
         self.statusbar.showMessage("Connected to IdeasX")
+        for i in range(0, 100):
+            wid = Ui_Form()
+            
+            wid2 = QtWidgets.QListWidgetItem()
+            wid2.setSizeHint(QtCore.QSize(300, 60))
+            self.listEncoder.addItem(wid2)
+            self.listEncoder.setItemWidget(wid2, wid)
+
 
 if __name__ == '__main__': 
     app = QtWidgets.QApplication(sys.argv)
@@ -28,6 +25,7 @@ if __name__ == '__main__':
     ui = IdeasXUI(main_window)
     main_window.show()
     
+    '''
     def updateTable():
         print("tick")
         ui.encoderModel.select()
@@ -36,5 +34,5 @@ if __name__ == '__main__':
     displayTimer = QtCore.QTimer()
     displayTimer.timeout.connect(updateTable)
     displayTimer.start(1000)
-        
+    '''    
     sys.exit(app.exec_())

+ 40 - 0
ideasxdevice.py

@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'Qt/ideasxdevice.ui'
+#
+# Created by: PyQt5 UI code generator 5.7
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_Form(QtWidgets.QWidget):
+    def __init__(self, parnet=None):
+        super(Ui_Form, self).__init__()
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setObjectName("gridLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.gridLayout.addItem(spacerItem, 0, 1, 1, 1)
+        self.label = QtWidgets.QLabel()
+        font = QtGui.QFont()
+        font.setPointSize(16)
+        self.label.setFont(font)
+        self.label.setObjectName("label")
+        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
+        self.pushButton = QtWidgets.QPushButton()
+        self.pushButton.setObjectName("pushButton")
+        self.gridLayout.addWidget(self.pushButton, 0, 3, 1, 1)
+
+  
+
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    Form = QtWidgets.QWidget()
+    ui = Ui_Form()
+    ui.setupUi(Form)
+    Form.show()
+    sys.exit(app.exec_())
+

+ 9 - 15
mainwindow.py

@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Form implementation generated from reading ui file 'mainwindow.ui'
+# Form implementation generated from reading ui file 'Qt/mainwindow.ui'
 #
 # Created by: PyQt5 UI code generator 5.7
 #
@@ -40,23 +40,15 @@ class Ui_MainWindow(object):
         self.gridLayout = QtWidgets.QGridLayout(self.tabEncoder)
         self.gridLayout.setContentsMargins(0, 0, 0, 0)
         self.gridLayout.setObjectName("gridLayout")
-        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
-        self.gridLayout.addItem(spacerItem, 1, 0, 1, 1)
         self.searchEncoder = QtWidgets.QLineEdit(self.tabEncoder)
         self.searchEncoder.setClearButtonEnabled(True)
         self.searchEncoder.setObjectName("searchEncoder")
         self.gridLayout.addWidget(self.searchEncoder, 1, 1, 1, 1)
-        self.tableEncoder = QtWidgets.QTableView(self.tabEncoder)
-        self.tableEncoder.setEnabled(True)
-        self.tableEncoder.setFrameShadow(QtWidgets.QFrame.Sunken)
-        self.tableEncoder.setAlternatingRowColors(True)
-        self.tableEncoder.setShowGrid(False)
-        self.tableEncoder.setGridStyle(QtCore.Qt.NoPen)
-        self.tableEncoder.setSortingEnabled(True)
-        self.tableEncoder.setObjectName("tableEncoder")
-        self.tableEncoder.horizontalHeader().setStretchLastSection(True)
-        self.tableEncoder.verticalHeader().setVisible(False)
-        self.gridLayout.addWidget(self.tableEncoder, 0, 0, 1, 2)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.gridLayout.addItem(spacerItem, 1, 0, 1, 1)
+        self.listEncoder = QtWidgets.QListWidget(self.tabEncoder)
+        self.listEncoder.setObjectName("listEncoder")
+        self.gridLayout.addWidget(self.listEncoder, 0, 0, 1, 2)
         self.tabWidget.addTab(self.tabEncoder, "")
         self.tabActuator = QtWidgets.QWidget()
         self.tabActuator.setObjectName("tabActuator")
@@ -142,18 +134,20 @@ class Ui_MainWindow(object):
         MainWindow.setCentralWidget(self.centralwidget)
         self.statusbar = QtWidgets.QStatusBar(MainWindow)
         self.statusbar.setEnabled(True)
+        self.statusbar.setToolTipDuration(-7)
         self.statusbar.setLayoutDirection(QtCore.Qt.RightToLeft)
         self.statusbar.setObjectName("statusbar")
         MainWindow.setStatusBar(self.statusbar)
 
         self.retranslateUi(MainWindow)
-        self.tabWidget.setCurrentIndex(1)
+        self.tabWidget.setCurrentIndex(0)
         QtCore.QMetaObject.connectSlotsByName(MainWindow)
 
     def retranslateUi(self, MainWindow):
         _translate = QtCore.QCoreApplication.translate
         MainWindow.setWindowTitle(_translate("MainWindow", "IdeasX Workstation Client"))
         self.searchEncoder.setPlaceholderText(_translate("MainWindow", "Search for Encoder by Username or Device ID"))
+        self.listEncoder.setSortingEnabled(False)
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabEncoder), _translate("MainWindow", "Encoders"))
         self.searchActuator.setPlaceholderText(_translate("MainWindow", "Search for Actuator by Name or Device ID"))
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabActuator), _translate("MainWindow", "Actuators"))