Jak uruchomić sygnał pyqt5 po zamknięciu okna [duplikat]

0

Pytanie

chcę uruchomić sygnał pyqt, aby ponownie otworzyć menu za każdym razem, gdy zamykają się inne okna, myślę, że klasa QMainWindow nie ma .closed sygnał, możesz mi pomóc?

import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
import Caixa
import Estoque
import Relatorio

app = QApplication(sys.argv)
menu = uic.loadUi(r'window/menu.ui')


caixa = Caixa.Window()
estoque = Estoque.Window()
relatorio = Relatorio.Window()

# gatilhos
menu.caixa.clicked.connect(lambda: caixa.open())
menu.caixa.clicked.connect(lambda: menu.close())

menu.produtos.clicked.connect(lambda: estoque.open())
menu.produtos.clicked.connect(lambda: menu.hide())

menu.relatorio.clicked.connect(lambda: relatorio.open())
menu.relatorio.clicked.connect(lambda: menu.hide())

estoque.window.exit.triggered.connect(lambda: menu.show())
caixa.window.exit.triggered.connect(lambda: menu.show())
relatorio.window.exit.triggered.connect(lambda: menu.show())

menu.show()
sys.exit(app.exec_())
pyqt5 python qt5
2021-11-23 21:24:12
1

Najlepsza odpowiedź

1

Możesz korzystać z obsługi "atexit". Dokumenty atexit

W moim przykładzie

import atexit

atexit.register(/*call your function here*/)

Dlatego, gdy okno jest zamknięte, to rejestruje sygnał i wywołuje odpowiednią funkcję.

2021-11-24 08:12:14

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................