gui_example.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import sys
  2. from PyQt5 import QtCore, QtGui, QtWidgets, QtSql
  3. from mainwindow import Ui_MainWindow
  4. class IdeasXUI(Ui_MainWindow):
  5. def __init__(self, MainWindow):
  6. Ui_MainWindow.__init__(self)
  7. self.setupUi(MainWindow)
  8. MainWindow.setWindowIcon(QtGui.QIcon("./icon/IDEAS.png"))
  9. db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
  10. db.setDatabaseName('IdeasX.db')
  11. self.encoderModel = QtSql.QSqlTableModel()
  12. delrow = -1
  13. self.encoderModel.setTable('encoder')
  14. self.encoderModel.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)
  15. self.encoderModel.select()
  16. self.encoderModel.setHeaderData(0, QtCore.Qt.Horizontal, "Module ID")
  17. self.encoderModel.setHeaderData(1, QtCore.Qt.Horizontal, "Battery Capacity")
  18. self.encoderModel.setHeaderData(2, QtCore.Qt.Horizontal, "Battery Voltage")
  19. self.tableEncoder.setModel(self.encoderModel)
  20. self.tableEncoder.resizeColumnsToContents()
  21. self.statusbar.showMessage("Connected to IdeasX")
  22. if __name__ == '__main__':
  23. app = QtWidgets.QApplication(sys.argv)
  24. main_window = QtWidgets.QMainWindow()
  25. ui = IdeasXUI(main_window)
  26. main_window.show()
  27. def updateTable():
  28. print("tick")
  29. ui.encoderModel.select()
  30. ui.tableEncoder.resizeColumnsToContents()
  31. displayTimer = QtCore.QTimer()
  32. displayTimer.timeout.connect(updateTable)
  33. displayTimer.start(1000)
  34. sys.exit(app.exec_())