| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 
 |  
fichier 1 : 
 
from datetime import datetime
from PyQt5 import QtCore
from PyQt5.QtWidgets import QMessageBox
from PyQt5.QtCore import Qt
import json
import pandas as pd
 
class ListPumpModel(QtCore.QAbstractListModel):
    def __init__(self, pumps, types, *args, **kwargs, ):
        super(ListPumpModel, self).__init__(*args, **kwargs)
        self.pumps = pumps
        self.types = types
 
    def data(self, index, role):
        if role == Qt.DisplayRole:
            serial = index.data().split(" ")[1]
            pump = next(pump for pump in self.datas.pumps if pump.serial == serial)           
            return self.types[str(pump.type)] + " " + pump.serial
 
    def rowCount(self, index):
        return len(self.pumps)
 
class Pump:
 
    def __init__(self, id, loc, type, serial, pms, lochistory):
        """
        init expect : pump type,
        """
        self.id = id
        self.localisation = loc
        self.type = type
        self.serial = serial
        self.pm=[PM(pm) for pm in pms]
        self.lochistory = lochistory
 
    def __str__(self):
        return self.type + " " + self.serial
 
fichier 2 : 
from PyQt5.QtWidgets import QMainWindow
from PyQt5 import QtCore, QtGui
from PyQt5.uic import loadUi
from model import ListPumpModel, messageBox, Pump
from datetime import date, datetime
 
class PumpWindow(QMainWindow):
    """Main Window."""
    def __init__(self, mainWin, parent=None):
        """Initializer."""
        super(PumpWindow, self).__init__(parent)
        loadUi("pump_manager.ui", self)
        self.datas = mainWin.datas
        self.actionToken = ""
 
        self.initWidgets()       
        self.show()
 
    def initWidgets(self):
        self.entry = QtGui.QStandardItemModel()
        self.loclabel.hide()
        self.loclist.hide()
        self.removelocbutton.hide()
        self.pmlabel.hide()
        self.pmlist.hide()
        self.cancelbutton.hide()
        self.addbutton.clicked.connect(self.addpumpclicked)
        self.cancelbutton.clicked.connect(self.cancelclicked)
        self.validatebutton.clicked.connect(self.validateclicked)
        self.listmodel = ListPumpModel(self.datas.pumps, self.datas.types)
        self.pumplist.setModel(self.listmodel)
        self.pumplist.selectionModel().currentChanged.connect(self.pumpselected)
 
    def pumpselected(self, index):
        if index.data() != None:
            self.showpump(index)       
        else:
            self.deletebutton.setEnabled(False)
            self.validatebutton.setEnabled(False)
            self.comboloc.setCurrentIndex(0)
            self.combotype.setCurrentIndex(0)
            self.lineserial.setText("") | 
Partager