Proszę wybaczyć to potencjalnie noobish pytanie, ale kiedy próbuje ukryć QWidget, jaka jest różnica między wywołaniem setVisible (False), setShown (False) i hide()?Jaka jest różnica Qt między setVisible, setShown i show/hide
Odpowiedz
show()
jest tylko funkcja wygoda dla setVisible(true)
.
Podobnie hide()
jest równoważna setVisible(false)
wewnętrznie, ten sam kod jest używany do renderowania widoku.
Zobacz przykład http://doc.qt.io/archives/qt-4.7/qwidget.html#show. Zgodnie z tym,
void QWidget :: show() [slot] Pokazuje widget i jego widżety podrzędne. Ta funkcja jest równoważna setVisible (true).
Znajdziesz wiele takich funkcji w Qt po prostu zrobić rzeczy bardziej intuicyjny, zwłaszcza jeśli chodzi o widgety i poglądów.
Jest to tylko częściowo poprawne. Chociaż prawdą jest, że 'hide()' jest tym samym, co 'setVisible (false)', 'show()' robi więcej niż tylko ustawianie widoczności. W zależności od domyślnego stanu okna, ustawi stan okna (otrzymując powiadomienie o zmianie stanu okna), a _ then_ wywoła funkcję 'setVisible (true)'. – Dan
Nie ma różnicy. Są po prostu różnymi sposobami osiągnięcia tego samego. (Faktycznie setShown nie jest tak naprawdę częścią API, wygląda na to, że jest to sprawa kompatybilności z Qt 3, więc najlepiej nie używać).
Myślę, że wszyscy nazywają ten sam kod wewnętrznie. – Pramod