Exemple #1
0
 def confirm(self):
     dist = self.dist_edit.text()
     date = self.date_edit.text()
     config.read(f"{mainpath}settings.ini")
     filename = config["current"]["filename"]
     with open(f"{filepath}{filename}") as data_file:
         data = json.load(data_file)
     goal_dist, goal_date = data["goals"]["distance"], data["goals"]["date"]
     if goal_dist != "" or goal_date != "":
         msgbox = QMessageBox(self)
         msgbox.setIcon(QMessageBox.Warning)
         msgbox.setWindowTitle("Varmista tavoitteen tallennus")
         msgbox.setGeometry(600, 300, 100, 100)
         msgbox.setText(
             f"Sinulla on jo tavoite.\n\n"
             f"Matka: {goal_dist} km\nPäivämäärä: {goal_date}\n\n"
             f"Haluatko nollata sen ja lisätä uuden tavoitteen?")
         msgbox.setStandardButtons(QMessageBox.Ok)
         cancel_btn = msgbox.addButton("Peruuta", QMessageBox.ActionRole)
         signal = msgbox.exec_()
         if signal == QMessageBox.Ok:
             goal_to_file(dist, date, filename)
             self.goalform.close()
             self.update_goalinfo()
         elif msgbox.clickedButton() == cancel_btn:
             QCloseEvent()
     else:
         goal_to_file(dist, date, filename)
         self.goalform.close()
         self.update_goalinfo()
Exemple #2
0
def test_closeEvent(init_paths):
    """Test :class:~_clockalarm.UI.MainWindow.closeEvent method."""
    global mw

    mw.show()
    event = QCloseEvent()
    mw.closeEvent(event)
    assert not mw.isVisible()
def test_closeEvent_1(qtbot):
    app = DevicePopup(geometry=geometry,
                      data=data,
                      framework=framework,
                      driver='telescope',
                      deviceType='telescope')
    qtbot.addWidget(app)

    with mock.patch.object(MWidget, 'closeEvent', return_value=True):
        app.closeEvent(QCloseEvent())
Exemple #4
0
 def make_file():
     new_file_name = self.name_edit.text()
     default_extensions = []
     if new_file_name == "":
         trip_files = os.listdir(filepath)
         for file in trip_files:
             if file.startswith("cycling_trips") and len(
                     file) <= 20 and file.endswith(".json"):
                 file_stripped = file.replace(".json", "")
                 if file_stripped[-1].isdigit():
                     default_extensions.append(int(file_stripped[-1]))
         if len(default_extensions) == 0:
             new_file_name = "cycling_trips2"
         else:
             new_file_name = f"cycling_trips{max(default_extensions) + 1}"
     new_file_path = f"{filepath}{new_file_name}.json"
     file_exists = os.path.isfile(f"{new_file_path}")
     if file_exists:
         msgbox = QMessageBox(self)
         msgbox.setIcon(QMessageBox.Warning)
         msgbox.setWindowTitle("Tiedosto on jo olemassa")
         msgbox.setGeometry(600, 300, 100, 100)
         msgbox.setText(
             "Samalla nimellä on jo olemassa tiedosto. Haluatko korvata sen uudella?"
         )
         msgbox.setStandardButtons(QMessageBox.Ok)
         cancel_btn2 = msgbox.addButton("Peruuta",
                                        QMessageBox.ActionRole)
         signal = msgbox.exec_()
         if signal == QMessageBox.Ok:
             pass
         elif msgbox.clickedButton() == cancel_btn2:
             QCloseEvent()
             return
     with open(new_file_path, "w") as data_file:
         data = {
             "_comment":
             "All trips are stored in this file. They must be in format dd.mm.yyyy: "
             "[float, float, ...]",
             "goals": {
                 "distance": "",
                 "date": ""
             }
         }
         json.dump(data, data_file, indent=4)
     QMessageBox.information(
         self, "Uusi matkatiedosto",
         f"Tehtiin uusi tiedosto nimellä {new_file_name}",
         QMessageBox.Ok)
     self.file_window.close()
Exemple #5
0
 def keyPressEvent(self, key):
     if (key.key() == Qt.Key_Right or (key.key() == Qt.Key_Return and
         QApplication.focusWidget() == self.next_solution_btm)) and \
             self.next_solution_btm.isEnabled():
         self.next_solution_btm.clicked.emit()
     elif (key.key() == Qt.Key_Left or (key.key() == Qt.Key_Return and
           QApplication.focusWidget() == self.previous_solution_btm)) and \
             self.previous_solution_btm.isEnabled():
         self.previous_solution_btm.clicked.emit()
     elif key.key() == Qt.Key_Escape:
         self.closeEvent(QCloseEvent())
     elif (key.key() == Qt.Key_Return and not isinstance(self, Window)
           and QApplication.focusWidget() == self.exit_button):
         self.exit_button.clicked.emit()
Exemple #6
0
    def keyPressEvent(self, event):
        key = event.key()

        if key == Qt.Key_Escape:
            self.closeEvent(QCloseEvent())

        elif key == Qt.Key_R:
            self.logic_model.field.clear_field()
            self.logic_model.next_figure = None
            self.logic_model.next_color = None
            self.logic_model.current_figure = None
            self.logic_model.current_color = None
            self.logic_model.falling_figure = falling_figure.FallingFigure(
                self.logic_model)
            self.logic_model.fell_flag = False
            self.color_mode_button.setEnabled(True)
            self.current_rating_position = -1
            self.current_scores = 0
            self._record_panel_update()
            self.timer.start()

        elif key == Qt.Key_P:
            if self.timer.isActive():
                self.status_bar.showMessage('Pause')
                self.timer.stop()
            elif not self.logic_model.end_of_the_game():
                self.timer.start()

        elif self.timer.isActive():
            if key == Qt.Key_Left:
                self.logic_model.falling_figure.try_move(Direction.LEFT)

            elif key == Qt.Key_Right:
                self.logic_model.falling_figure.try_move(Direction.RIGHT)

            elif key == Qt.Key_Down:
                self.logic_model.falling_figure.try_move(Direction.DOWN)

            elif key == Qt.Key_Up:
                self.logic_model.falling_figure.try_rotate_left()

            elif key == Qt.Key_Space:
                self.logic_model.falling_figure.drop_figure()
                self.logic_model.falling_figure = \
                    falling_figure.FallingFigure(self.logic_model)
                self.logic_model.field.remove_completed_rectangle(
                    self.logic_model.falling_figure)
                self.logic_model.fell_flag = True

        self._grid_update()
def test_closeEvent_1(qtbot):
    app = SatelliteWindow(app=Test())
    qtbot.addWidget(app)

    app.closeEvent(QCloseEvent())
Exemple #8
0
    def closeEvent(self, event):

        logging.debug('closeEvent() called topMenuBar')

        self.close_signal.emit(QCloseEvent())
Exemple #9
0
 def close_busy_dlg(*args):
     QApplication.postEvent(busy_dlg, QCloseEvent())
Exemple #10
0
    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)
        #uic.loadUi('gui_template.ui',self)

        try:
            self.path_home = os.path.expanduser("~\\Desktop\\")
        except Exception:
            self.path_home = ""

        for curren_dir in ["interim_image"]:
            if os.path.exists(curren_dir):
                if os.path.isdir(curren_dir):
                    print(curren_dir + " is here")
                else:
                    try:
                        os.mkdir(curren_dir)
                    except OSError:
                        print("Error generate dir " + curren_dir)
            else:
                try:
                    os.mkdir(curren_dir)
                except OSError:
                    print("Error generate dir " + curren_dir)

        # Load last path for files
        try:
            with open('last_path.json', "r") as f:
                path_dict = {i: j for i, j in json.load(f).items()}
            self.path_image = path_dict["path_image"]
            self.path_dir_images = path_dict["path_dir_images"]
            self.path_dir_dirs = path_dict["path_dir_dirs"]
            self.path_excel = path_dict["path_excel"]
            self.path_excels = path_dict["path_excels"]
            self.path_vez_excel = path_dict["path_vez_excel"]
            self.path_ro_excel = path_dict["path_ro_excel"]
            self.path_ro_word = path_dict["path_ro_word"]
        except Exception:
            self.path_image = self.path_home
            self.path_dir_images = self.path_home
            self.path_dir_dirs = self.path_home
            self.path_excel = self.path_home
            self.path_excels = self.path_home
            self.path_vez_excel = self.path_home
            self.path_ro_excel = self.path_home
            self.path_ro_word = self.path_home

        self.lv_c = 5
        self.t_c = 0.5
        self.imnam = "слои"

        desktop = QApplication.desktop()
        wd = desktop.width()
        hg = desktop.height()
        ww = 1000
        wh = 500
        if ww > wd: ww = int(0.7 * wd)
        if wh > hg: wh = int(0.7 * hg)
        x = (wd - ww) // 2
        y = (hg - wh) // 2
        self.setGeometry(x, y, ww, wh)

        topVBoxLayout = QVBoxLayout(self)
        topVBoxLayout.setContentsMargins(0, 0, 0, 0)

        SPFrame = QFrame()
        SPFrame.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        SPFrame.setMinimumSize(QSize(150, 100))

        self.ImFrame = QFrame()
        self.ImFrame.setSizePolicy(QSizePolicy.Expanding,
                                   QSizePolicy.Expanding)
        #self.ImFrame.setMinimumSize(QSize(300, 100))

        TbFrame = QFrame()
        TbFrame.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        TbFrame.setMinimumSize(QSize(0, 100))

        RFrame = QFrame()
        RFrame.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)
        RFrame.setMinimumSize(QSize(0, 100))

        self.listView = CustomList()  #QListView()
        self.listView.clicked.connect(self.OpenPict)
        self.select_able = True
        self.listView.setcloseEditorSignal(self.Rename)
        #self.listView.editingFinished.connect(self.Rename)
        #self.listView.edit.connect(self.Rename)

        BoxLayout1 = QVBoxLayout()
        self.progress_bar = QProgressBar()
        self.progress_bar.setAlignment(Qt.AlignHCenter)
        BoxLayout1.addWidget(self.progress_bar)
        BoxLayout1.addWidget(self.listView)

        SPFrame.setLayout(BoxLayout1)

        self.Table = CustomTable()  #QTableWidget()
        self.Table.setcloseEditorSignal(
            lambda: self.WriteTable(who_edited="table"))
        #self.Table.itemChanged(lambda:print("change2"))
        self.Table.cellClicked[int, int].connect(self.PosChangedCell)
        self.Table.setColumnCount(3)
        self.Table.setHorizontalHeaderLabels(["p", "h", "d"])
        self.Table.setRowCount(30)
        self.Table.setColumnWidth(0, 50)
        self.Table.setColumnWidth(1, 50)
        self.Table.setColumnWidth(2, 50)
        self.Table.setItemDelegate(DownloadDelegate(self))
        BoxLayout2 = QHBoxLayout()
        BoxLayout2.addWidget(self.Table)
        TbFrame.setLayout(BoxLayout2)

        self.pe1 = QLabel("Рэ1=")
        self.pe2 = QLabel("Рэ2=")
        self.pe = QLabel("Рэ=")
        lb1 = QLabel("Длинна вертикального")
        lb2 = QLabel("заземлителя lв, м")
        lb3 = QLabel("Глубина заложения")
        lb4 = QLabel("вертикального заземлителя t, м")
        lb5 = QLabel("Эквивалентное сопротивление")
        lb6 = QLabel("Двухслойная модель")
        lb7 = QLabel("Однослойная модель")
        lb8 = QLabel("Шаблон искомого изображения")
        lb9 = QLabel("Название проекта")
        lb10 = QLabel("Название ВЛ")
        self.vl = QDoubleSpinBox()
        self.vl.setValue(self.lv_c)
        self.vl.valueChanged.connect(self.WriteTable)
        self.t = QDoubleSpinBox()
        self.t.setValue(self.t_c)
        self.t.valueChanged.connect(self.WriteTable)
        self.pe1_le = QLineEdit()
        self.pe2_le = QLineEdit()
        self.pe_le = QLineEdit()
        self.ImageName = QLineEdit()
        self.ImageName.setText(self.imnam)
        self.NPrj = QLineEdit()
        self.NVL = QLineEdit()
        self.ImageName.editingFinished.connect(self.ReadImName)
        spacerItem = QSpacerItem(2, 20, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        BoxLayout3 = QVBoxLayout()
        BoxLayout4 = QHBoxLayout()
        BoxLayout5 = QHBoxLayout()
        BoxLayout6 = QHBoxLayout()
        BoxLayout3.addWidget(lb8)
        BoxLayout3.addWidget(self.ImageName)
        BoxLayout3.addWidget(lb9)
        BoxLayout3.addWidget(self.NPrj)
        BoxLayout3.addWidget(lb10)
        BoxLayout3.addWidget(self.NVL)
        BoxLayout3.addWidget(lb1)
        BoxLayout3.addWidget(lb2)
        BoxLayout3.addWidget(self.vl)
        BoxLayout3.addWidget(lb3)
        BoxLayout3.addWidget(lb4)
        BoxLayout3.addWidget(self.t)
        BoxLayout3.addWidget(lb5)
        BoxLayout3.addWidget(lb6)
        BoxLayout4.addWidget(self.pe1)
        BoxLayout4.addWidget(self.pe1_le)
        BoxLayout3.addLayout(BoxLayout4)
        BoxLayout5.addWidget(self.pe2)
        BoxLayout5.addWidget(self.pe2_le)
        BoxLayout3.addLayout(BoxLayout5)
        BoxLayout3.addWidget(lb7)
        BoxLayout6.addWidget(self.pe)
        BoxLayout6.addWidget(self.pe_le)
        BoxLayout3.addLayout(BoxLayout6)
        BoxLayout3.addItem(spacerItem)
        RFrame.setLayout(BoxLayout3)

        Splitter1 = QSplitter(Qt.Horizontal)
        Splitter1.addWidget(SPFrame)
        Splitter1.addWidget(self.ImFrame)
        Splitter1.addWidget(TbFrame)
        Splitter1.addWidget(RFrame)
        Splitter1.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        Splitter1.setStretchFactor(1, 4)
        Splitter1.setStretchFactor(1, 1)

        topVBoxLayout.addWidget(Splitter1)

        self.central_widget = QWidget()
        self.central_widget.setLayout(topVBoxLayout)
        self.setCentralWidget(self.central_widget)

        #self.resize()
        #self.central_widget.show()
        self.PaintForm = MyFrame(False, parent=self.ImFrame)

        self.statusBar()
        menubar = self.menuBar()

        exitAction = QAction('&Выход', self)  #QIcon('exit.png'),
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Выход и программы')
        exitAction.triggered.connect(lambda: self.closeEvent(QCloseEvent()))

        Open0Action = QAction('&Открыть изображение',
                              self)  #QIcon('exit.png'),
        Open0Action.setShortcut('Ctrl+1')
        Open0Action.setStatusTip(
            'Результаты ВЭЗ предоставлены одиночными изображениями')
        Open0Action.triggered.connect(self.Op0)

        Open1Action = QAction('&Открыть папку изображений',
                              self)  #QIcon('exit.png'),
        Open1Action.setShortcut('Ctrl+2')
        Open1Action.setStatusTip(
            'Результаты ВЭЗ предоставлены одиночными изображениями')
        Open1Action.triggered.connect(lambda: self.Op12(0))

        Open2Action = QAction('&Открыть папку каталогов',
                              self)  #QIcon('exit.png'),
        Open2Action.setShortcut('Ctrl+3')
        Open2Action.setStatusTip('Результаты ВЭЗ предоставлены набором файлов')
        Open2Action.triggered.connect(lambda: self.Op12(1))

        Open3Action = QAction('&Открыть файл Ecxel', self)  #QIcon('exit.png'),
        Open3Action.setShortcut('Ctrl+4')
        Open3Action.setStatusTip('Результаты ВЭЗ файле Ecxel')
        Open3Action.triggered.connect(self.Op3)

        Open4Action = QAction('&Открыть файлы Ecxel',
                              self)  #QIcon('exit.png'),
        Open4Action.setShortcut('Ctrl+5')
        Open4Action.setStatusTip('Результаты ВЭЗ в нескольких файлах Ecxel')
        Open4Action.triggered.connect(self.Op4)

        NewPick = QAction("Добавить точку", self)
        NewPick.setShortcut('Ctrl+A')
        NewPick.setStatusTip('Добавить новую точку')
        NewPick.triggered.connect(self.NewPick)

        DelPick = QAction("Удалить точку", self)
        DelPick.setShortcut('Ctrl+D')
        DelPick.setStatusTip('Удалить точку из списка')
        DelPick.triggered.connect(self.DelPick)

        ReRead = QAction("Прочитать изображение", self)
        ReRead.setShortcut('Ctrl+R')
        ReRead.setStatusTip('Принудительно считывает информацию с изображения')
        ReRead.triggered.connect(self.ReReadImage)

        Select = QAction("Выбрать все точки", self)
        Select.setShortcut('Ctrl+W')
        Select.setStatusTip('Выбираем все точки из списка')
        Select.triggered.connect(self.select)

        ClearTable = QAction("Очистить таблицу", self)
        ClearTable.setShortcut('Ctrl+Shift+D')
        ClearTable.setStatusTip('Очищает текущую таблицу')
        ClearTable.triggered.connect(self.ClearTable)

        SetLvCheck = QAction("Установить lв выбранным точкам", self)
        SetLvCheck.setShortcut('Ctrl+E')
        SetLvCheck.setStatusTip('Изменяет lв выбраных точек на текущее')
        SetLvCheck.triggered.connect(self.SetLvCheck)

        SetTCheck = QAction("Установить t выбранным точкам", self)
        SetTCheck.setShortcut('Ctrl+T')
        SetTCheck.setStatusTip('Изменяет t выбраных точек на текущее')
        SetTCheck.triggered.connect(self.SetTCheck)

        Save1VEZExcel = QAction("Сохранить ВЭЗ в Excel", self)
        Save1VEZExcel.setShortcut('Ctrl+6')
        Save1VEZExcel.setStatusTip('Сохраняет выбраные ВЭЗ в Excel файл')
        Save1VEZExcel.triggered.connect(lambda: self.Save1VEZExcel(1))

        Save2VEZExcel = QAction("Сохранить Pэ в Excel", self)
        Save2VEZExcel.setShortcut('Ctrl+7')
        Save2VEZExcel.setStatusTip('Сохраняет выбраные Рэ в Excel файл')
        Save2VEZExcel.triggered.connect(lambda: self.Save1VEZExcel(2))

        Save3VEZExcel = QAction("Сохранить Pэ в Word", self)
        Save3VEZExcel.setShortcut('Ctrl+8')
        Save3VEZExcel.setStatusTip('Сохраняет выбраные Рэ в Word файл')
        Save3VEZExcel.triggered.connect(lambda: self.Save1VEZExcel(3))

        EditWord = QAction("Редактировать шаблон Word", self)
        EditWord.setShortcut('Ctrl+G')
        EditWord.setStatusTip('Запускает окно для редактирования шаблона Word')
        EditWord.triggered.connect(self.EditWord)

        zoomIn = QAction("Увеличить изображение", self)
        zoomIn.setShortcut('Ctrl++')
        zoomIn.setStatusTip('Увеличивает открытое изображение')
        zoomIn.triggered.connect(self.PaintForm.zoomIn)

        zoomOut = QAction("Уменьшить изображение", self)
        zoomOut.setShortcut('Ctrl+-')
        zoomOut.setStatusTip('Уменьшает открытое изображение')
        zoomOut.triggered.connect(self.PaintForm.zoomOut)

        Rotate1 = QAction("Повернуть изображение по ч.с", self)
        Rotate1.setShortcut('Ctrl+Shift++')
        Rotate1.setStatusTip('Поворачивает изображение по часовой стрелке')
        Rotate1.triggered.connect(lambda: self.PaintForm.Rotate(1))

        Rotate2 = QAction("Повернуть изображение против ч.с", self)
        Rotate2.setShortcut('Ctrl+Shift+-')
        Rotate2.setStatusTip(
            'Поворачивает изображение ппротив часовой стрелке')
        Rotate2.triggered.connect(lambda: self.PaintForm.Rotate(-1))

        NormalSize = QAction("Вернуть исходный размер", self)
        NormalSize.setShortcut('Ctrl+F')
        NormalSize.setStatusTip('Вернуть исходный размер изображения')
        NormalSize.triggered.connect(self.PaintForm.normalSize)

        fileMenu = menubar.addMenu('&Файл')
        fileMenu.addAction(Open0Action)
        fileMenu.addAction(Open1Action)
        fileMenu.addAction(Open2Action)
        fileMenu.addAction(Open3Action)
        fileMenu.addAction(Open4Action)
        fileMenu.addAction(exitAction)

        editMenu = menubar.addMenu('&Правка')
        editMenu.addAction(NewPick)
        editMenu.addAction(DelPick)
        editMenu.addAction(ReRead)
        editMenu.addAction(Select)
        editMenu.addAction(SetLvCheck)
        editMenu.addAction(SetTCheck)
        editMenu.addAction(ClearTable)

        imageMenu = menubar.addMenu('&Изображение')
        imageMenu.addAction(zoomIn)
        imageMenu.addAction(zoomOut)
        imageMenu.addAction(Rotate1)
        imageMenu.addAction(Rotate2)
        imageMenu.addAction(NormalSize)

        reportMenu = menubar.addMenu('&Отчёт')
        reportMenu.addAction(Save1VEZExcel)
        reportMenu.addAction(Save2VEZExcel)
        reportMenu.addAction(Save3VEZExcel)
        reportMenu.addAction(EditWord)

        self.setWindowTitle('VEZRead')
        self.setWindowIcon(QIcon('images\\op1.png'))

        self.d = {}
        self.sp_m = []
        self.file_path = []
        self.file_name = []
        self.arr = []
        self.stst = []
        self.arr_lv = []
        self.arr_t = []
        self.adres = None
        self.ski = QStandardItemModel()
        self.listView.setModel(self.ski)
        self.listView.pressed.connect(self.presseditem)

        self.sel = True
        self.block = True
        self.back_colors = ((255, 255, 255, 255), (255, 0, 0, 50),
                            (255, 255, 0, 50), (0, 255, 0, 50))

        self.pos_changed_cell = (0, 0)
Exemple #11
0
 def closeEvent(self, closeEvent=QCloseEvent()):             # window close event
     self.hide()
     self.tray.showMessage("작동 중", "StockAdvisorSystem을 종료해도 트레이아이콘으로 남아있게 됩니다.\n완전한 종료를 원하신다면 아이콘 우클릭 > 종료 버튼을 눌러주세요.", 1, 50)
     closeEvent.ignore()
Exemple #12
0
def test_closeEvent_1(qtbot):
    app = KeypadWindow(app=Test())
    qtbot.addWidget(app)

    with mock.patch.object(MWidget, 'closeEvent', return_value=True):
        app.closeEvent(QCloseEvent())
def test_closeEvent_1(qtbot):
    app = MessageWindow(app=Test())
    qtbot.addWidget(app)

    app.closeEvent(QCloseEvent())
Exemple #14
0
 def on_exit_triggered(self):
     self.app_service.app_model.main_window.closeEvent(QCloseEvent())