from PyQt5.QtWidgets import * from PyQt5.QtGui import QPixmap import sys from PyQt5 import uic from PyQt5 import QtCore from functions.get_img_map import get_img_map from functions.search_organization_pos import search_organization_pos class Window(QMainWindow): def __init__(self): super().__init__(None) uic.loadUi('window.ui', self) self.pixmap = None self.acceptDrops() self.setWindowTitle("Image") self.delta = 0.02 self.lon = 37.530887 self.lat = 55.703118 self.variant_map = "map" self.org_point = "0.0,0.0" self.name_find_org = "" self.postal_code = "" self.hide_postal_code = False self.update() self.button_group = QButtonGroup(None) self.button_group.addButton(self.map) self.button_group.addButton(self.sat) self.button_group.addButton(self.skl) self.button_group.buttonClicked.connect(self.push_button) self.find.clicked.connect(self.search_organization) self.drop.clicked.connect(self.drop_find) self.checkBox.stateChanged.connect(self.hide_postal_code_move) def keyPressEvent(self, event): try: if event.key() == QtCore.Qt.Key_PageUp: self.delta += 0.01 self.update() if event.key() == QtCore.Qt.Key_PageDown: self.delta -= 0.01 self.update() if event.key() == QtCore.Qt.Key_W: self.lat += 0.01 self.update() if event.key() == QtCore.Qt.Key_S: self.lat -= 0.01 self.update() if event.key() == QtCore.Qt.Key_A: self.lon -= 0.01 self.update() if event.key() == QtCore.Qt.Key_D: self.lon += 0.01 self.update() event.accept() except Exception as e: print(e) def update(self): get_img_map(self.delta, (self.lon, self.lat), self.variant_map, self.org_point) self.pixmap = QPixmap('image.png') self.label.setPixmap(self.pixmap) self.label.resize(self.pixmap.width(), self.pixmap.height()) self.show() def push_button(self, button): if button.text() == "skl": self.variant_map = "sat,skl" else: self.variant_map = button.text() self.update() def search_organization(self): # Москва, ул. Ак. Королева, 12 text = self.plainTextEdit.toPlainText() self.org_point, self.lon, self.lat, self.name_find_org, self.postal_code = search_organization_pos(text) if self.hide_postal_code: self.label_2.setText(self.name_find_org + " : " + self.postal_code) else: self.label_2.setText(self.name_find_org) self.update() def drop_find(self): self.org_point = "0.0,0.0" self.name_find_org = "" self.postal_code = "" self.label_2.setText(self.name_find_org) self.update() def hide_postal_code_move(self, checked): if checked: self.hide_postal_code = True self.label_2.setText(self.name_find_org + " : " + self.postal_code) else: self.hide_postal_code = False self.label_2.setText(self.name_find_org) self.update() App = QApplication(sys.argv) window = Window() sys.exit(App.exec())