PyQt(Python+Qt)學習隨筆:QMdiArea多文檔界面部件的subWindowActivated信號

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)

老猿Python,跟老猿學Python!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章