【问题标题】:What's the difference in Qt between setVisible, setShown and show/hideQt 中 setVisible、setShown 和显示/隐藏有什么区别
【发布时间】:2012-08-24 01:19:53
【问题描述】:

请原谅这个可能很无聊的问题,但是在尝试隐藏 QWidget 时,调用 setVisible(False)、setShown(False) 和 hide() 有什么区别?

【问题讨论】:

  • 我认为它们在内部都调用了相同的代码。

标签: qt pyqt hide show visible


【解决方案1】:

没有区别。它们只是实现同一目标的不同方式。 (实际上 setShown 并不是 API 的一部分,看起来它是 Qt 3 的兼容性东西,所以最好不要使用它。)

【讨论】:

    【解决方案2】:

    show() 只是setVisible(true) 的一个便利函数。

    同样hide() 等价于setVisible(false)

    在内部,相同的代码用于呈现您的视图。

    http://doc.qt.io/archives/qt-4.7/qwidget.html#show 为例。据了解,

    void QWidget::show () [slot] 显示小部件及其子小部件。 该函数等价于 setVisible(true)。

    您会在 Qt 中找到很多这样的功能,只是为了让事情变得更加直观,尤其是在小部件和视图方面。

    【讨论】:

    • 这只是部分正确。虽然hide() 确实与setVisible( false ) 相同,但show() 不仅仅是设置可见性。根据窗口的默认状态,它将设置窗口状态(引发窗口状态更改通知),然后然后调用setVisible( true )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 2012-12-04
    • 2010-12-20
    • 2018-06-26
    • 1970-01-01
    相关资源
    最近更新 更多