QT事件之resizeEvent事件触发(2)

resizeEvent(QResizeEvent *event)作为QT的事件函数在窗口控件大小获取方面具有借鉴作用。官方文档说明如下:

void QWidget::resizeEvent(QResizeEvent *event)

This event handler can be reimplemented in a subclass to receive widget resize events which are passed in the event parameter. When resizeEvent() is called, the widget already has its new geometry. The old size is accessible through QResizeEvent::oldSize().
The widget will be erased and receive a paint event immediately after processing the resize event. No drawing need be (or should be) done inside this handler.

当QT运行时自动调用resize函数事件或者其他窗口控件大小发生变化产生resize事件。
假如你想拖动主窗口(或改变大小)的时候,能够让窗口中的组件随着窗口也能缩放的话,需要重写resizeEvent,原因在于,窗口构造结束之后,子窗口的大小就是固定的。而只有 resizeEvent 事件函数,可在此时获取到各控件正确的大小。
实际应用中要注意以下几点:
1、函数名字唯一
由于是QT固有事件函数,我们只是需要重写功能,丰富函数功能,而不是更改函数名称。头文件声明如下:


版权声明:本文为weixin_43646126原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。