Bir pencereyi kapatırken bir pyqt5 sinyali nasıl tetiklenir [duplicate]

0

Soru

diğer pencereler her kapatıldığında menüyü yeniden açmak için bir pyqt sinyali ateşlemek istiyorum, bence sınıf QMainWindow bir tane yok .closed signal, bana yardım edebilir misin?

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

En iyi cevabı

1

"Atexit" işleyicisini kullanabilirsiniz. atexit Belgeleri

Benim örneğimde

import atexit

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

Böylece pencere kapandığında bir sinyal kaydeder ve ihtiyacı olan işlevi çağırır.

2021-11-24 08:12:14

Diğer dillerde

Bu sayfa diğer dillerde

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