node.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import sys
  2. from PyQt5.QtCore import QSize
  3. from PyQt5.QtGui import QFont, QBrush, QColor
  4. from PyQt5.QtWidgets import QApplication, QMainWindow, QListWidgetItem
  5. from ui.ui import Ui_MainWindow
  6. import db_query
  7. # db参数
  8. # db_ip = "192.168.1.233"
  9. db_ip = "127.0.0.1"
  10. db_port = 3306
  11. db_name = "ct_project"
  12. # db_user = "zx"
  13. # db_password = "zx123456"
  14. db_user = "root"
  15. db_password = "123456"
  16. class MainWindow(QMainWindow,Ui_MainWindow):
  17. def __init__(self, parent=None):
  18. super(MainWindow, self).__init__(parent)
  19. self.setupUi(self)
  20. self.A_listWidget.setGridSize(QSize(335, 60))
  21. self.A_listWidget.setStyleSheet("border:5px solid #014F84;")
  22. self.B_listWidget.setGridSize(QSize(335, 60))
  23. self.B_listWidget.setStyleSheet("border:5px solid #014F84;")
  24. self.C_listWidget.setGridSize(QSize(335, 60))
  25. self.C_listWidget.setStyleSheet("border:5px solid #014F84;")
  26. def closeEvent(self, event):
  27. db_query.Close()
  28. event.accept() # 接受关闭事件
  29. def getListWidgetItem(self,dict):
  30. item = QListWidgetItem()
  31. item.setFont(QFont('微软雅黑', 20, QFont.Bold))
  32. show_str = ""
  33. if (dict["statu"] == 0): # 排队
  34. item.setForeground(QColor('red'))
  35. show_str = dict["car_number"] + " 排队中,请稍等片刻"
  36. elif (dict["statu"] == 1): # 工作
  37. item.setForeground(QColor(255,215,0))
  38. show_str = dict["car_number"] + " 取车中,等待取车结束"
  39. elif (dict["statu"] == 2): # 已完成
  40. item.setForeground(QColor('green'))
  41. show_str = dict["car_number"] + " 已完成,请到 %d 号出口取车" % (dict["export_id"])
  42. item.setText(show_str)
  43. return item
  44. def callback(self,command_queue,unit):
  45. command_queue.sort(reverse=True,key=lambda s: s["statu"])
  46. if unit == 1:
  47. self.A_listWidget.clear()
  48. for dict in command_queue:
  49. self.A_listWidget.addItem(self.getListWidgetItem(dict))
  50. elif unit == 2:
  51. self.B_listWidget.clear()
  52. for dict in command_queue:
  53. self.B_listWidget.addItem(self.getListWidgetItem(dict))
  54. elif unit == 3:
  55. self.C_listWidget.clear()
  56. for dict in command_queue:
  57. self.C_listWidget.addItem(self.getListWidgetItem(dict))
  58. if __name__ == '__main__':
  59. app = QApplication(sys.argv)
  60. window = MainWindow()
  61. db_query = db_query.DBQuery(db_ip, db_port, db_name, db_user, db_password)
  62. db_query.setCallback(window.callback)
  63. db_query.start()
  64. window.showMaximized()
  65. sys.exit(app.exec_())