Ako spustiť pyqt5 signál pri zatváraní okna [duplicitné]

0

Otázka

chcem, aby oheň pyqt signál na otvorenie menu zakaždým, ostatné okná sú zatvorené, myslím si, že trieda QMainWindow nemá .closed signál, môžete 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

Najlepšiu odpoveď

1

Môžete použiť "atexit" handler. atexit Dokumenty

V mojom príklade

import atexit

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

Takže keď okno sa zatvorí registruje signál a zavolá funkciu v núdzi.

2021-11-24 08:12:14

V iných jazykoch

Táto stránka je v iných jazykoch

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