我在How to know if QListWidgetItem is hidden by scroll?中提出了类似的问题,但问题的答案并没有解决我的问题。
基本上我有一个QGridLayout的QScrollArea。这种布局有很多QToolButtons。根据某些条件,所有这些QToolButtons都需要更新。要更新所有这些内容总是效率不高,所以我只想更新当前活动窗口中可见的按钮。我怎样才能做到这一点? isVisible()在这里没有帮助。
提前致谢!
答案 0 :(得分:1)
您可以使用QWidget::visibleRegion()
检查窗口小部件是否可见,并为窗口小部件绘制事件。
if (!button->visibleRegion().isEmpty())
{
//button is visible
}