Какая разница в Qt между setVisible, setShown и show/hide

Пожалуйста, извините этот потенциально нубийский вопрос, но при попытке скрыть QWidget в чем разница между вызовом setVisible (False), setShown (False) и hide()?

Ответы

Ответ 1

show() - это просто удобная функция для setVisible(true).

Аналогично hide() эквивалентно setVisible(false)

Внутри, тот же код используется для визуализации вашего представления.

В качестве примера см. http://doc.qt.io/archives/qt-4.7/qwidget.html#show. Согласно ему,

void QWidget:: show() [slot] Показывает виджет и его дочерние виджеты. Эта функция эквивалентна setVisible (true).

В Qt вы найдете множество таких функций, чтобы сделать вещи более интуитивно понятными, особенно когда речь идет о виджетах и ​​представлениях.

Ответ 2

Нет никакой разницы. Это просто разные способы достижения одного и того же. (На самом деле setShown не является частью API, похоже, что это совместимость с Qt 3, поэтому лучше не использовать его.)