def on_btnLoad_clicked(self): fileName, _ = QFileDialog.getOpenFileName(None, self.tr('Import Colors and elevations from XML'), QDir.homePath(), self.tr('XML files (*.xml *.XML)')) if fileName == '': return doc = QDomDocument() with codecs.open(fileName, 'r', encoding='utf-8') as f: content = f.read() if not doc.setContent(content): QMessageBox.critical(None, self.tr('Error parsing XML'), self.tr('The XML file could not be loaded')) return self.reliefClassTree.clear() reliefColorList = doc.elementsByTagName('ReliefColor') for i in range(reliefColorList.length()): elem = reliefColorList.at(i).toElement() item = QTreeWidgetItem() item.setText(0, elem.attribute('MinElevation')) item.setText(1, elem.attribute('MaxElevation')) item.setBackground(2, QBrush(QColor(int(elem.attribute('red')), int(elem.attribute('green')), int(elem.attribute('blue'))))) self.reliefClassTree.addTopLevelItem(item)
def populateColors(self, colors): self.reliefClassTree.clear() for c in colors: item = QTreeWidgetItem() item.setText(0, str(c.minElevation)) item.setText(1, str(c.maxElevation)) item.setBackground(2, QBrush(c.color)) self.reliefClassTree.addTopLevelItem(item)
def setValue(self, value): self.reliefClassTree.clear() rows = value.split(';') for r in rows: v = r.split(',') item = QTreeWidgetItem() item.setText(0, v[0]) item.setText(1, v[1]) color = QColor(int(v[2]), int(v[3]), int(v[4])) item.setBackground(2, QBrush(color)) self.reliefClassTree.addTopLevelItem(item)
def on_btnAdd_clicked(self): item = QTreeWidgetItem() item.setText(0, '0.00') item.setText(1, '0.00') item.setBackground(2, QBrush(QColor(127, 127, 127))) self.reliefClassTree.addTopLevelItem(item)