@vlad758

Как правильно обработать команду Cancel от QFileDialog?

Как правильно указать что делать приложению после нажатия Cancel, чтобы окно QFileDialog просто закрывалось, а основное окно приложения оставалось работать в режиме ожидания? Сейчас из-за отсутствия получения информации из QFileDialog приложение вылетает.. Где обрабатывать нужный код от Cencel разобрался, вот что туда для этого вставить не пойму..

import re
import hashlib
import yadisk
from PyQt5.QtWidgets import QFileDialog
import sqlite3 as sq
from main_ui import *
from cryptography.fernet import Fernet
import sys
class Ui_Main(QtWidgets.QMainWindow):
    def __init__(self):
        super(Ui_Main, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.groupBox_2.hide()
        self.ui.groupBox_4.hide()
        self.ui.groupBox_5.hide()
        self.ui.widget_2.hide()
        self.ui.pushButton_12.clicked.connect(self.autorisation)
        self.ui.pushButton_14.clicked.connect(self.exit_main_window)
        self.ui.pushButton_13.clicked.connect(self.clear)
        self.ui.pushButton_11.clicked.connect(self.exit_main_window)
        self.ui.pushButton_16.clicked.connect(self.create_activation_key)
        self.clear()
    def autorisation(self):
        ...................
        
        f_open = QFileDialog.getOpenFileName(self, 'Выберите файл Activation Code', '', 'BIN file (*.bin)')
        if f_open[0] is None:
               print("Cancel")
        else:
               .................
app = QtWidgets.QApplication([])
window = Ui_Main()
window.showMaximized()
sys.exit(app.exec_())


Пока что действую по такой логике.. Принт “Cancel” выводится нормально, вот дальше программа выходит из условия и выдает ошибку.. Вопрос в том как ее после Cancel вернуть в режим ДО появления диалогового окна..
  • Вопрос задан
  • 169 просмотров
Решения вопроса 1
@AlbertForest
Про return слышал?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час