web-dev-qa-db-ja.com

setVisible、setShown、show / hideのQtの違いは何ですか

この潜在的に厄介な質問を許してください。しかし、QWidgetを非表示にしようとすると、setVisible(False)、setShown(False)、およびhide()の呼び出しの違いは何ですか?

21
Jay

show()は、setVisible(true)の便利な関数です。

同様に、hide()setVisible(false)と同等です。

内部的には、同じコードがビューのレンダリングに使用されます。

例として http://doc.qt.io/archives/qt-4.7/qwidget.html#show を参照してください。それによると、

void QWidget :: show()[slot]ウィジェットとその子ウィジェットを表示します。この関数は、setVisible(true)と同等です。

Qtには、特にウィジェットやビューに関して、物事をより直感的に直感的にするためのそのような関数がたくさんあります。

26
Pramod

違いはありません。それらは同じことを達成するための単なる異なる方法です。 (実際、setShownは実際にはAPIの一部ではありません。これは、Qt 3との互換性があるように見えるため、使用しないことをお勧めします。)

6
Dan Milburn