Esempio n. 1
0
 def update_polygon_list(self):
     """更新多边形列表"""
     polygon_table = self.db.polygon_table
     _id = self.selected_id()
     self.ui.polygon_table_widget.fill_with_polygons(polygon_table)
     self.ui.graphics_view.set_polygons(polygon_table, len(config_loader.get_layer_names()))
     if len(polygon_table) > 0:
         if not self.select_row_by_id(_id):
             self.ui.polygon_table_widget.setCurrentCell(0, 0)
Esempio n. 2
0
 def __init__(self, parent=None):
     super().__init__()
     config_loader.load_all()
     # ui
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     self.ui.graphics_view.setScene(QGraphicsScene())
     self.view = self.ui.graphics_view
     self.scene = self.ui.graphics_view.scene()
     self.ui.polygon_table_widget.setColumnCount(2)
     self.ui.polygon_table_widget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
     self.ui.polygon_table_widget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
     self.ui.polygon_table_widget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
     self.ui.second_table_widget.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
     self.ui.second_table_widget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
     self.ui.second_table_widget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
     self.ui.insert_layer_combo_box.addItems(config_loader.get_layer_names())
     self.ui.graphics_view.scale(1, -1)  # invert y
     # data
     self.db = DbHelper()
     self.command_handler = MapCommand(self.db)
     self.path = None
     # fsm
     self.__init_fsm()
     # other signals/slots
     self.command_handler.gotoPolygon.connect(self.goto_polygon)
     self.ui.polygon_table_widget.itemSelectionChanged.connect(self.polygon_selection_changed)
     self.ui.polygon_table_widget.itemClicked.connect(self.polygon_selection_clicked)
     self.ui.polygon_table_widget.polygonActivated.connect(self.goto_polygon)
     self.ui.second_table_widget.itemSelectionChanged.connect(self.second_selection_changed)
     self.ui.second_table_widget.polygonActivated.connect(self.goto_polygon)
     self.ui.scale_slider.valueChanged.connect(self.scale_slider_changed)
     self.ui.graphics_view.polygonCreated.connect(self.add_polygon)
     self.ui.graphics_view.polygonUpdated.connect(self.update_polygon)
     self.ui.graphics_view.pointsUpdated.connect(self.update_points)
     log.logger.onLog.connect(self.print_to_output)
     # open default database
     self.setAcceptDrops(True)
     self.open("default.sqlite", True)