【发布时间】:2012-06-11 05:17:07
【问题描述】:
我注意到当 QWidget 变得可见/不可见时没有信号/事件。还有什么我可以挂钩来获得大致相同的东西(轮询 isVisible() 除外)吗?
如果显示数据的小部件不可见,我想关闭一些数据获取。
【问题讨论】:
-
请注意,虽然 QWidget 基类对此没有信号,但您会发现其他一些类有一个。例如,QWindow 有 visibleChanged...而 QDockWidget 有一个奇怪的稍微不同的名称 visibilityChanged。
-
@HostileFork 我猜 QWindow 使用 visibleChanged 作为对应于
isVisible()state-changes 的信号,因为它也有一个 QWindow::visibilityChanged 与它的(不相关)visibility财产。 QWindow::visibility 是在 QT 5.1 中引入的,QDockWidget::visibilityChanged 可以追溯到 Qt 4.3。猜猜他们后悔没有从一开始就将其命名为 visibleChanged。 (而 我的 遗憾的是visible和visibility现在在同一个类中表示两个不同的东西。)