天天看點

python怎麼恢複預設視窗_如何恢複最小化的視窗?

最準确的方法是觀察小部件的QWindowStateChangeEvent,并在發生時立即響應。你可以不止一種方法。在

下面是如何重新實作目标小部件的event方法:class Window(QtGui.QWidget):

def __init__(self):

super(Window, self).__init__()

def event(self, e):

if e.type() == e.WindowStateChange:

if self.windowState() & QtCore.Qt.WindowMinimized:

print "Minimized"

# self.showMaximized()

# call the super class event() no matter what

return super(Window, self).event(e)

現在,如果您有一些其他小部件要監視最小化,并且您不想在該對象上定義一個新的事件方法,那麼您可以建立一個簡單地監視多個其他對象的事件的對象。它被稱為事件篩選器:

^{pr2}$

請注意,在檢查windowState時,應該使用&來比較,而不是{},因為狀态可以是多個值的組合,您需要使用掩碼檢查它,以檢視該值是否存在于其他值中。i、 如果你先把視窗最大化然後再最小化,它将有多個視窗狀态。在

另外,您還可以首先自定義實際的視窗屬性。是以,如果您的目标是防止最小化,可以禁用該按鈕:aWindow = QtGui.QWidget()

flags = aWindow.windowFlags()

aWindow.setWindowFlags(flags ^ QtCore.Qt.WindowMinimizeButtonHint)

這将從所有其他标志中減去最小化按鈕标志。在