【问题标题】:the widget does not close/quit with the main window小部件不会随主窗口关闭/退出
【发布时间】:2014-04-30 02:52:28
【问题描述】:

我有以下 python 代码,其中主窗口有一个使用 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 拥有自己的窗口,它可以这样工作,但是当我关闭 mywin 时,小部件不会被 mywin 关闭。 我该怎么做?

【问题讨论】:

    标签: python pyqt4


    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多