怎样连接信号和重写的QWidget的resizeEvent()函数
时间: 2024-02-28 20:54:28 浏览: 363
连接信号与重写QWidget的resizeEvent()函数可以通过Qt的信号与槽机制来实现。具体步骤如下:
1. 在需要连接信号的QWidget子类中重写resizeEvent()函数。
例如:
```
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = nullptr);
protected:
void resizeEvent(QResizeEvent *event) override;
signals:
void windowResized(QSize size);
};
```
2. 在resizeEvent()函数中发射自定义信号。
例如:
```
void MyWidget::resizeEvent(QResizeEvent *event)
{
emit windowResized(event->size());
}
```
3. 在需要接收信号的地方连接自定义信号与槽函数。
例如:
```
MyWidget *widget = new MyWidget(this);
connect(widget, &MyWidget::windowResized, this, &MainWindow::onWindowResized);
```
其中,MainWindow是需要接收信号的类,onWindowResized是MainWindow中的槽函数。这样,当MyWidget的大小发生变化时,就会自动调用MainWindow中的onWindowResized()函数。
阅读全文