pyqt4窗口调整大小事件

时间:2016-12-11 21:14:20

标签: python python-3.x pyqt pyqt4 qwidget

我使用的是python3和pyqt4,我希望每次调整QMainWindow时都会运行一些代码。我想要这样的东西

self.window.resized.connect(self.resize)

resized不是内置函数或方法。 任何人都可以提供帮助。

2 个答案:

答案 0 :(得分:8)

您必须覆盖resizeEvent方法。

from PyQt4 import QtCore, QtGui
import sys

class MainWindow(QtGui.QMainWindow):
    def resizeEvent(self, event):
        print("resize")
        QtGui.QMainWindow.resizeEvent(self, event)



app = QtGui.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())

答案 1 :(得分:0)

对于任何正在寻找它的人,这里有一个 PyQt5 解决方案。这几乎是@eyllancesc 代码,所以要感谢她。 PyQt5 只需要少量修改

from PyQt5 import QtCore, QtGui, QtWidgets
import sys

class MainWindow(QtWidgets.QMainWindow):
    def resizeEvent(self, event):
        print("Window has been resized")
        QtWidgets.QMainWindow.resizeEvent(self, event)


app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())