QMdiArea的subWindowActivated在一個窗口激活(獲得焦點)時發射,語法如下:
- subWindowActivated(QMdiSubWindow window)
如果window參數爲None,則表示沒有激活的子窗口,如果應用沒有disable子窗口,則表示所有子窗口都關閉了。
這個信號比較有用,當開發的應用需要結合子窗口的個數來顯示不同的狀態時,可以通過這個信號判斷window參數是否爲None來設置不同的狀態。
如下代碼是將該信號連接一個槽方法,在槽方法中根據window參數設置actionclose對應按鈕和菜單的狀態:
def __init__(self):
super().__init__()
self.setupUi(self)
self.mdiArea.subWindowActivated.connect(self.setButtonsStatus)
def setButtonsStatus(self,win):
if win:self.actionclose.setEnabled(True)
else:self.actionclose.setEnabled(False)