gpt4 book ai didi

qt - pyqt:当小部件变为可见/隐藏时接收信号

转载 作者:行者123 更新时间:2023-12-03 23:26:40 32 4
gpt4 key购买 nike

我注意到QWidget变为可见/不可见时没有信号/事件。我还有什么可以钩住的东西可以大致相同(轮询isVisible()除外)?

如果显示数据的小部件不可见,我想打开一些数据。

最佳答案

一种解决方案是,您可以在窗口小部件(documentation)中覆盖QWidget::showEvent()QWidget::hideEvent()函数。然后emit定制signal并在相应对象中捕获slot。例如..

void MyWidget::hideEvent(QHideEvent *)
{
// 'false' means hidden..
emit widgetVisibilityChanged(false);
}

void MyWidget::showEvent(QShowEvent *)
{
// 'true' means visible..
emit widgetVisibilityChanged(true);
}


现在,如果无法覆盖小部件,则还可以使用 QObject::installEventFilter ( QObject * filterObj )QObject::eventFilter ( QObject * watched, QEvent * event )组合( documentation and example)在其父小部件中接收上述事件。

关于qt - pyqt:当小部件变为可见/隐藏时接收信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926945/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com