Cum pentru a declanșa o pyqt5 semnal când se închide o fereastră [duplicat]

0

Problema

aș vrea să trag un pyqt semnal pentru a redeschide meniul de fiecare dată când celelalte ferestre sunt închise, cred că clasa QMainWindow nu are un .closed semnal, ma puteti ajuta?

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

Cel mai bun răspuns

1

Ai putea folosi "atexit" handler. atexit Documente

În exemplul meu

import atexit

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

Deci, atunci când fereastra se închide registrele un semnal și solicită funcția în nevoie.

2021-11-24 08:12:14

În alte limbi

Această pagină este în alte limbi

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