Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 30, 2022 14:52:58

vsavelyev
Зарегистрирован: 2022-10-14
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка команд от QFileDialog

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

Офлайн

#2 Окт. 30, 2022 15:06:54

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Обработка команд от QFileDialog

Наверное все же нуэно сначала почитать документацию по куте а потом пробовать что-то написать на нем?
посмотрите примеры
https://www.codespeedy.com/close-a-window-in-pyqt5-in-python/

В конце концов покажите свой код! Иначе как мы узнаем что и откудова вы запускаете и как пытаетесь зайрыть?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Окт. 30, 2022 19:40:03

vsavelyev
Зарегистрирован: 2022-10-14
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка команд от QFileDialog

ZerG
Наверное все же нуэно сначала почитать документацию по куте а потом пробовать что-то написать на нем? посмотрите примерыhttps://www.codespeedy.com/close-a-window-in-pyqt5-in-python/В конце концов покажите свой код! Иначе как мы узнаем что и откудова вы запускаете и как пытаетесь зайрыть?

 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 вернуть в режим ДО появления диалогового окна.. Предложенную статью понял, но применение не сработало..

Отредактировано vsavelyev (Окт. 30, 2022 19:42:00)

Офлайн

#4 Окт. 30, 2022 19:47:19

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Обработка команд от QFileDialog

 if not f_open:
    return

?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Окт. 31, 2022 07:15:49

vsavelyev
Зарегистрирован: 2022-10-14
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка команд от QFileDialog

ZerG
не.. так же вылет..

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version