From 1258436cdb39e01f9eba7e3297f3a784220a7d0b Mon Sep 17 00:00:00 2001 From: Lars Bittrich Date: Fri, 3 May 2019 08:53:20 +0200 Subject: [PATCH] Bugfixes in AnalysisView, ParticleTypeView, and ExpExcelDialog --- analysis/analysisview.py | 2 +- analysis/analysiswidgets.py | 27 ++++++++++++++++++++------- 2 files changed, 21 insertions(+), 8 deletions(-) mode change 100644 => 100755 analysis/analysisview.py mode change 100644 => 100755 analysis/analysiswidgets.py diff --git a/analysis/analysisview.py b/analysis/analysisview.py old mode 100644 new mode 100755 index 01cf255..c4dd94c --- a/analysis/analysisview.py +++ b/analysis/analysisview.py @@ -588,7 +588,7 @@ class ParticleAnalysis(QtWidgets.QMainWindow): print("abundancyList:", abundancyList) print("labelList:", labelList) print("colorList:", colorList) - self.typeHistogram.updateTypes(list(zip(abundancyList, labelList, colorList))) + self.typeHistogram.updateTypes(list(zip(abundancyList, labelList, colorList))) #general size histogram self.sizeHist_ax.clear() diff --git a/analysis/analysiswidgets.py b/analysis/analysiswidgets.py old mode 100644 new mode 100755 index 05ae32d..79d72fa --- a/analysis/analysiswidgets.py +++ b/analysis/analysiswidgets.py @@ -155,7 +155,7 @@ class ExpExcelDialog(QtWidgets.QDialog): if not os.path.exists(xlsname): validFileName = True else: - xlsname = self.directory + self.xlsFileName.text() + ' {}.xlsx'.format(incr) + xlsname = self.directory + '//' + self.xlsFileName.text() + ' {}.xlsx'.format(incr) incr += 1 writer = pd.ExcelWriter(xlsname, engine = 'xlsxwriter') @@ -220,16 +220,24 @@ class ParticleIndicator(QtWidgets.QPushButton): qp = QtGui.QPainter() qp.begin(self) - qp.fillRect(self.rect(), QtCore.Qt.white) + #qp.fillRect(self.rect(), QtCore.Qt.white) + qp.setBrush(QtCore.Qt.white) + qp.drawRoundedRect(0, 0, width, height, 5. ,5.) qp.setPen(self.color) qp.setBrush(self.color) qp.drawRoundedRect(0, 0, int(width*r), height, 5. ,5.) qp.setPen(QtCore.Qt.black) qp.setBrush(QtCore.Qt.NoBrush) qp.drawRoundedRect(0, 0, width, height, 5. ,5.) - qp.drawText(self.rect(), QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter, + font = qp.font() + font.setPointSize(13) + font.setStyleStrategy(QtGui.QFont.NoAntialias) + font.setWeight(0) + qp.setFont(font) + qp.setCompositionMode(QtGui.QPainter.RasterOp_SourceXorDestination) + qp.setPen(QtCore.Qt.white) + qp.drawText(5, 0, width-10, height, QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter, self.text) - qp.end() @@ -252,12 +260,16 @@ class ParticleTypeView(QtWidgets.QScrollArea): self.setWidgetResizable(True) self.setWidget(self.view) self.setAlignment(QtCore.Qt.AlignHCenter) + self.widgets = [] def updateTypes(self, types): print("Updating polymer type view", flush=True) - for i in range(self.indicatorbox.count()): - self.indicatorbox.takeAt(0) - + for pi in self.widgets: + self.indicatorbox.removeWidget(pi) + pi.setParent(None) + pi.destroy() + self.indicatorbox.takeAt(0) + self.widgets = [] numtotal = sum([num for num, text, color in types]) def getIndexFunction(index): @@ -269,6 +281,7 @@ class ParticleTypeView(QtWidgets.QScrollArea): pi = ParticleIndicator(num, numtotal, color, text) self.indicatorbox.addWidget(pi) pi.clicked.connect(getIndexFunction(index)) + self.widgets.append(pi) self.indicatorbox.addStretch() self.view.update() \ No newline at end of file -- GitLab