2014-04-29 23 views
0

我在主窗口使用PyQt4的小部件不關閉/與主窗口退出

import os 
import sys 
from PyQt4 import QtGui, QtCore, Qt 


class Widget(QtGui.QLabel): 
    def __init__(self): 
     super(FringeFrame, self).__init__() 
     self.setWindowFlags(QtCore.Qt.FramelessWindowHint) 
     self.showFullScreen() 

class MainWindow(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     super(MainWindow, self).__init__(parent) 
     self.widget = Widget() 

def main(): 
    app = QtGui.QApplication(sys.argv) 
    mywin = MainWindow() 
    mywin.show() 
    sys.quit(app.exec_())  


if __name__ == '__main__': 
    main() 

這裏的問題是,我想小部件和mywin擁有自己的一個插件的下面的Python代碼窗口,它可以這樣工作,但是當我關閉mywin時,窗口小部件不會用mywin關閉。 我應該怎麼做?

回答

1

你可以只覆蓋QMainWindowcloseEvent

class MainWindow(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     super(MainWindow, self).__init__(parent) 
     self.widget = Widget() 

    def closeEvent(self, event): 
     self.widget.close()