此时, 如果拖动窗口大小, 可以看到图⽚并不会随着窗口大小的改变⽽同步变化.
为了解决这个问题, 可以在 Widget 中重写 resizeEvent 函数....这个过程就是依赖 C++ 中的多态来实现的. Qt 框架内部管理着 QWidget 对象表示咱们的窗口. 在窗口大小发⽣改变时, Qt 就会自动调用 resizeEvent 函数....但是由于实际上这个表示窗口的并非是 QWidget, ⽽是 QWidget 的⼦类, 也就是咱们⾃⼰写的 Widget....此时虽然是通过父类调⽤函数, 但是实际上执⾏的是⼦类的函数(也就是我们重写后的 resizeEvent ).
此处属于是 多态 机制的⼀种经典用法....之所以存在两套, 是因为 Qt 诞⽣较早 (1991 年左右), 此时 C++ 还没有完成 "标准化" 的工作,C++ 标准库这样的概念⾃然也没有诞生.