Задать вопрос
@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 вернуть в режим ДО появления диалогового окна..
  • Вопрос задан
  • 176 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@AlbertForest
Про return слышал?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы