请原谅我提出这个可能是新手问题,当试图隐藏一个QWidget时,调用setVisible(False)、setShown(False)和hide()有什么区别?
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)
。 - Dan这两者没有区别,只是实现相同目的的不同方式。(实际上,setShown并不是API的一部分,它看起来是Qt 3的兼容性问题,最好不要使用。)