qt5.12版本中的qgraphicsview没有show信号,那么我怎么在qgraphicsview每次显示的时候执行一些逻辑
时间: 2024-05-02 12:16:30 浏览: 65
在 Qt 5.12 中,确实没有 `QGraphicsView` 的 `show()` 信号,但你可以使用 `QEvent::Show` 事件来实现类似的功能。具体实现步骤如下:
1. 重载 `QGraphicsView` 的 `showEvent` 函数,该函数会在视图显示时被调用。
```cpp
void MyGraphicsView::showEvent(QShowEvent *event)
{
QGraphicsView::showEvent(event);
// 在这里执行需要的逻辑
}
```
2. 在函数中判断事件类型,只在事件类型为 `QEvent::Show` 时执行逻辑。
```cpp
void MyGraphicsView::showEvent(QShowEvent *event)
{
if (event->type() == QEvent::Show) {
// 执行需要的逻辑
}
QGraphicsView::showEvent(event);
}
```
这样,每次 `QGraphicsView` 显示时,都会执行你所需要的逻辑。
阅读全文