#### Put some recordings r = Recording(elec.id, datetime.datetime.strptime("2015-10-01", "%Y-%m-%d"), 1000) r.insert() r = Recording(elec.id, datetime.datetime.strptime("2015-10-05", "%Y-%m-%d"), 1500) r.insert() r = Recording(gaz.id, datetime.datetime.strptime("2015-10-01", "%Y-%m-%d"), 100) r.insert() r = Recording(gaz.id, datetime.datetime.strptime("2015-10-10", "%Y-%m-%d"), 200) r.insert() #### List all the counters print("List all : ") s = Recording.findAll() for r in s: print(str(r)) for c in allcounters: print("All of : %s" % c.name) s = Recording.findByIdCounter(c.id) for r in s: print(str(r)) DB.close()
def setupTabs(self): #self.tabs.currentChanged.disconnect(self.currentTabChanged) while(self.tabs.count() > 0): self.tabs.removeTab(0) self.tables = {} allcounters = Counter.findAll() for c in allcounters: tab = QWidget(self.tabs) hl = QHBoxLayout() tab.setLayout(hl) recordings = Recording.findByIdCounter(c.id) tw = QTableWidget(len(recordings), 5) self.tables["%i"%c.id] = tw column_names = ("Id","Counter", "Date", "Value", "Remove ?") tw.setHorizontalHeaderLabels(column_names) # Fill the table with the recordings for i, r in enumerate(recordings): # The id of the recording in the table of recordings item = QTableWidgetItem("{}".format(r.id)) item.setFlags(QtCore.Qt.NoItemFlags) tw.setItem (i, 0, item) # The id of the associated counter item = QTableWidgetItem("{}".format(r.idcounter)) item.setFlags(QtCore.Qt.NoItemFlags) tw.setItem (i, 1, item) # The date when the recording has been made item = QTableWidgetItem(r.date.strftime("%Y-%m-%d %H:%M:%S")) item.setFlags(QtCore.Qt.NoItemFlags) tw.setItem (i, 2, item) # The value can be edited item = QTableWidgetItem("{}".format(r.value)) item.setFlags(QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled) tw.setItem (i, 3, item) but = QPushButton("Remove") but.clicked.connect(partial(self.on_removeClicked, counter_id=c.id, recording_id=r.id)) #item = QTableWidgetItem(but) #tw.setItem(i, 4, but) #tw.setIndexWidget() tw.setCellWidget(i, 4, but) tw.cellChanged.connect(partial(self.on_cellChanged, counter_id=c.id)) # We allow sorting and we sort by decreasing date # to get the most recent recordings at the top tw.setSortingEnabled(True) tw.sortByColumn(2, QtCore.Qt.DescendingOrder) # Ajust the width of the columns to better see the contents tw.resizeColumnsToContents() tw.setFixedWidth(600) hl.addWidget(tw) #### Plot the data canvas = self.plot_data(recordings) hl.addWidget(canvas) self.tabs.addTab(tab,str(c.id) + "-" + c.name)