问:如何确定QScrollArea中的小部件是否可见?

时间:2015-02-24 15:50:02

标签: c++ qt qscrollarea

有人建议我重新实现QWheelEvent处理程序并检查每个子窗口小部件visibleRegion是否为0。

还有更好的建议吗?

1 个答案:

答案 0 :(得分:0)

添加小部件时。给它起一个名字。

QWidget* myWidget = new QWidget;
myWidget->setObjectName( "myWidget" );
...
//create scroll area
//add a layout to the scroll area
...
scrollArea->layout()->addWidget( myWidget );

然后,检查可见性如下:

QWidget* widget = scrollArea->findChild< QWidget* >( "myWidget" );
std::cout << widget->isVisible() << std::endl;

您可以保留一个小部件名称列表,以便更轻松地循环并检查您何时准备好。