我想要在小部件调整大小时执行操作。
有没有一种方法可以在不安装事件过滤器的情况下捕获这种情况(显然,不需要对其进行子类化)?AFAIK,QWidget没有resized
信号。
发布于 2012-01-22 06:04:56
如果您有任何其他QObject可以与QWidget有严格关系,则可以使用QObject::installEventFilter(QObject * filter)
和重载bool eventFilter(QObject *, QEvent *)
。欲了解更多信息,请访问Qt docs
发布于 2012-01-22 03:19:46
您可以从widget
类派生并重新实现resizeEvent
事件
发布于 2012-01-28 18:38:43
如果你正在使用Python和PyQt4,你可以将widget.resizeEvent
设置为你的函数,而不需要对它进行子类化:
#!/usr/bin/env python
import sys
from PyQt4 import QtCore, QtGui
def onResize(event):
print event
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
widget = QtGui.QPushButton('Test')
widget.resizeEvent = onResize
widget.resize(640, 480)
widget.show()
sys.exit(app.exec_())
https://stackoverflow.com/questions/8955780
复制相似问题