我使用的是python3和pyqt4,我希望每次调整QMainWindow
时都会运行一些代码。我想要这样的东西
self.window.resized.connect(self.resize)
但resized
不是内置函数或方法。
任何人都可以提供帮助。
答案 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_())