如何判断 QWidget已经显示
时间: 2024-09-19 07:09:14 浏览: 40
在Qt中,判断`QWidget`是否已经显示通常通过观察其`isVisible()`属性的变化或者使用`show()`和`hidden()`信号。下面是一种常见的方法:
1. 使用`isVisible()`方法:
```cpp
QWidget *widget = new QWidget();
if (!widget->isVisible()) {
// widget还没有显示
} else {
// widget已经显示
qDebug() << "Widget is visible";
}
```
当你想要检查一个QWidget是否显示时,只需检查`isVisible()`返回值即可。
2. 监听`show()`和`hidden()`信号:
```cpp
connect(widget, &QWidget::shown, this, [](){
qDebug() << "Widget shown";
});
connect(widget, &QWidget::hidden, this, [](){
qDebug() << "Widget hidden";
});
if (widget->isHidden()) {
// widget还没显示
} else {
// widget已经显示
}
```
这里我们连接了两个信号,`shown`表示窗口已经显示,`hidden`表示窗口被隐藏。你可以根据信号触发的情况来判断窗口的状态。
阅读全文