fix current bugs

This commit is contained in:
copper 2022-05-23 20:22:38 +08:00
parent e7bf0b1fae
commit 6030c8a73e
3 changed files with 32 additions and 19 deletions

View File

@ -1,4 +1,4 @@
2022-05-23 19:21:48,894 - root - INFO - lic data:2022-12-01 00:00:00 2022-05-23 19:52:34,008 - root - INFO - lic data:2022-12-01 00:00:00
2022-05-23 19:21:48,899 - root - INFO - remain_days: 191 2022-05-23 19:52:34,012 - root - INFO - remain_days: 191
2022-05-23 19:21:50,164 - root - INFO - lic data:2022-12-01 00:00:00 2022-05-23 19:52:35,282 - root - INFO - lic data:2022-12-01 00:00:00
2022-05-23 19:21:50,164 - root - INFO - remain_days: 191 2022-05-23 19:52:35,282 - root - INFO - remain_days: 191

View File

@ -94,7 +94,7 @@ class ResultTable(QtWidgets.QWidget):
self.tablewidget.setVerticalHeaderLabels([ str(i+1) for i in range(len(data.data))]) self.tablewidget.setVerticalHeaderLabels([ str(i+1) for i in range(len(data.data))])
for i, d in enumerate(data.data): for i, d in enumerate(data.data):
self.tablewidget.setItem(i, 0, QTableWidgetItem('%.3f,%.3f'%(d[0], d[1]))) # X self.tablewidget.setItem(i, 0, QTableWidgetItem('%.3f,%.3f'%(d[0], d[1]))) # X
self.tablewidget.setItem(i, 1, QTableWidgetItem(str(d[2]))) # Y self.tablewidget.setItem(i, 1, QTableWidgetItem('%.2f'%d[2])) # Y
status_item = QTableWidgetItem('') status_item = QTableWidgetItem('')
if d[3] == 0: if d[3] == 0:
status_item.setBackground(Qt.green) status_item.setBackground(Qt.green)

View File

@ -15,7 +15,7 @@ from rscder.utils.setting import Settings
from qgis.core import QgsRasterLayer, QgsMarkerSymbol, QgsUnitTypes, QgsCategorizedSymbolRenderer, QgsRendererCategory, QgsPalLayerSettings, QgsRuleBasedLabeling, QgsTextFormat, QgsLineSymbol, QgsSingleSymbolRenderer, QgsSimpleLineSymbolLayer, QgsVectorLayer, QgsCoordinateReferenceSystem, QgsFeature, QgsGeometry, QgsPointXY from qgis.core import QgsRasterLayer, QgsMarkerSymbol, QgsUnitTypes, QgsCategorizedSymbolRenderer, QgsRendererCategory, QgsPalLayerSettings, QgsRuleBasedLabeling, QgsTextFormat, QgsLineSymbol, QgsSingleSymbolRenderer, QgsSimpleLineSymbolLayer, QgsVectorLayer, QgsCoordinateReferenceSystem, QgsFeature, QgsGeometry, QgsPointXY
from PyQt5.QtCore import QObject, pyqtSignal, Qt, QThread from PyQt5.QtCore import QObject, pyqtSignal, Qt, QThread
from PyQt5.QtWidgets import QTreeWidgetItem, QAction from PyQt5.QtWidgets import QTreeWidgetItem, QAction
from PyQt5.QtGui import QColor, QIcon from PyQt5.QtGui import QColor, QIcon, QFont
import yaml import yaml
from .misc import singleton from .misc import singleton
@ -265,7 +265,7 @@ class BasicLayer(QObject):
def item_update(self, item:QTreeWidgetItem): def item_update(self, item:QTreeWidgetItem):
# item = self._item # item = self._item
print('start update') # print('start update')
self.name = item.text(0) self.name = item.text(0)
self._expand = item.isExpanded() self._expand = item.isExpanded()
pre = self.enable pre = self.enable
@ -273,7 +273,7 @@ class BasicLayer(QObject):
if pre != cur: if pre != cur:
self.enable = cur self.enable = cur
self.layer_show_update.emit() self.layer_show_update.emit()
print('end update') # print('end update')
def set_layer_parent(self, layer): def set_layer_parent(self, layer):
self.layer_parent = layer self.layer_parent = layer
@ -326,13 +326,13 @@ class GridLayer(BasicLayer):
self.x_max = self.x_min + self.x_res * self.x_size self.x_max = self.x_min + self.x_res * self.x_size
self.y_max = self.y_min + self.y_res * self.y_size self.y_max = self.y_min + self.y_res * self.y_size
self.x_lines = [] self.x_lines = []
for xi in range(self.x_size // self.cell_size[0]): for xi in range(self.x_size // self.cell_size[0] +1):
self.x_lines.append(self.x_min + self.x_res * xi * self.cell_size[0]) self.x_lines.append(self.x_min + self.x_res * xi * self.cell_size[0])
if self.x_lines[-1] == self.x_max: if self.x_lines[-1] == self.x_max:
self.x_lines.pop() self.x_lines.pop()
self.x_lines.append(self.x_max) self.x_lines.append(self.x_max)
self.y_lines = [] self.y_lines = []
for yi in range(self.y_size // self.cell_size[1]): for yi in range(self.y_size // self.cell_size[1]+1):
self.y_lines.append(self.y_min + self.y_res * yi * self.cell_size[1]) self.y_lines.append(self.y_min + self.y_res * yi * self.cell_size[1])
if self.y_lines[-1] == self.y_max: if self.y_lines[-1] == self.y_max:
self.y_lines.pop() self.y_lines.pop()
@ -438,7 +438,7 @@ class ResultPointLayer(BasicLayer):
def update(self, data): def update(self, data):
row = data['row'] row = data['row']
value = data['value'] value = data['value']
self.data[row][-1] = value self.data[row][-1] = int(value)
self.update_point_layer(row) self.update_point_layer(row)
def format_point_layer(self, layer): def format_point_layer(self, layer):
@ -447,7 +447,9 @@ class ResultPointLayer(BasicLayer):
lyr.enabled = True lyr.enabled = True
lyr.fieldName = 'prob' lyr.fieldName = 'prob'
lyr.placement = QgsPalLayerSettings.OverPoint lyr.placement = QgsPalLayerSettings.OverPoint
lyr.textNamedStyle = 'Medium' lyr.xOffset = 2
lyr.yOffset = -2
lyr.textFont = QFont('Times New Roman', 16)
text_format = QgsTextFormat() text_format = QgsTextFormat()
text_format.color = QColor.fromRgb(255,0,0) text_format.color = QColor.fromRgb(255,0,0)
text_format.background().color = QColor('#000000') text_format.background().color = QColor('#000000')
@ -465,11 +467,11 @@ class ResultPointLayer(BasicLayer):
def set_render(self, layer): def set_render(self, layer):
# xres = self.geo[1] # xres = self.geo[1]
symbol_change = QgsMarkerSymbol.createSimple({'color': '#ffff00', 'size': 5 }) symbol_change = QgsMarkerSymbol.createSimple({'color': '#ffff00', 'size': 2 })
symbol_change.setSizeUnit(QgsUnitTypes.RenderUnit.RenderPixels) symbol_change.setSizeUnit(QgsUnitTypes.RenderUnit.RenderMillimeters)
category_change = QgsRendererCategory(1, symbol_change,'change') category_change = QgsRendererCategory(1, symbol_change,'change')
symbol_unchange = QgsMarkerSymbol.createSimple({'color': '#00000000', 'size': '0'}) symbol_unchange = QgsMarkerSymbol.createSimple({'color': '#00000000', 'size': 0})
category_unchange = QgsRendererCategory(0, symbol_unchange, 'unchange') category_unchange = QgsRendererCategory(0, symbol_unchange, 'unchange')
render = QgsCategorizedSymbolRenderer('status', [category_change, category_unchange]) render = QgsCategorizedSymbolRenderer('status', [category_change, category_unchange])
@ -503,7 +505,10 @@ class ResultPointLayer(BasicLayer):
point.setId(i) point.setId(i)
point.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(d[0], d[1]))) point.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(d[0], d[1])))
point.setAttribute('status', int(d[-1])) point.setAttribute('status', int(d[-1]))
point.setAttribute('prob', '%.2f'%(d[2])) if d[-1] == 0:
point.setAttribute('prob', '')
else:
point.setAttribute('prob', '%.2f'%(d[2]))
# point.setAttribute('id', i) # point.setAttribute('id', i)
features.append(point) features.append(point)
layer.addFeatures(features) layer.addFeatures(features)
@ -521,13 +526,21 @@ class ResultPointLayer(BasicLayer):
feature = self.layer.getFeature(i+1) feature = self.layer.getFeature(i+1)
if feature is None: if feature is None:
continue continue
feature.setAttribute('status', d[-1]) feature.setAttribute('status', int(d[-1]))
if d[-1] == 0:
feature.setAttribute('prob', '')
else:
feature.setAttribute('prob', '%.2f'%(d[2]))
else: else:
feature = self.layer.getFeature(row+1) feature = self.layer.getFeature(row+1)
# print(feature) # print(feature)
if feature is None: if feature is None:
return return
feature.setAttribute('status', int(self.data[row][-1])) feature.setAttribute('status', int(self.data[row][-1]))
if self.data[row][-1] == 0:
feature.setAttribute('prob', '')
else:
feature.setAttribute('prob', '%.2f'%(self.data[row][2]))
self.layer.updateFeature(feature) self.layer.updateFeature(feature)
self.layer.commitChanges() self.layer.commitChanges()
@ -582,7 +595,7 @@ class PairLayer(BasicLayer):
def add_result_layer(self, result): def add_result_layer(self, result):
result.set_layer_parent(self) result.set_layer_parent(self)
self.layers.append(result) self.layers.insert(0, result)
self.layer_show_update.emit() self.layer_show_update.emit()
self.layer_tree_update.emit() self.layer_tree_update.emit()
@ -625,5 +638,5 @@ class PairLayer(BasicLayer):
for layer in data['layers']: for layer in data['layers']:
l = from_dict(layer) l = from_dict(layer)
l.set_layer_parent(player) l.set_layer_parent(player)
player.layers.append(l) player.layers.insert(0,l)
return player return player