LINUX.ORG.RU

Смена содержимого окна

 ,


0

2

Я только-только решил глубоко копнуть Qt, поэтому возникают странные вопросы, которые я затрудняюсь сформулировать в терминах внятных для гугла.
Есть окно, отнаследованное от QMainWindow.
На нём расположены кнопки.
Я хочу при нажатии на кнопку заменить содержимое окна на другое.
Я, конечно, могу кинуть на окно все кнопки сразу и показывать\скрывать только нужные.
Но что-то мне подсказывает, что это костыльный способ.

Накидайте ключевых слов для гугла или сами на пальцах объясните, плиз.

★★☆

QWizard? скрытие/показ нужных QFrame?

pztrn ★★★★ ()
Ответ на: комментарий от panter_dsd

Обрати внимание на первый тег.
Мог бы сформулировать — спросил бы у гугла и не дёргал лишний раз ЛОР.

Гугл правда подсказывает, что блоки кнопок можно объединить в виджеты и менять у главного окна эти виджеты. Буду пробовать.

Stahl ★★☆ ()

Я, конечно, могу кинуть на окно все кнопки сразу и показывать\скрывать только нужные.

На мой взгляд, верный подход. Можно еще сгруппировать необходимые кнопки в боксы или виджеты и рулить уже ими. Еще лучше, кнопки не скрывать, а делать для них enabled:false;

trex6 ★★★★★ ()
Ответ на: комментарий от panter_dsd

Ага, получилось через виджеты.
Всё не так уж сложно на самом деле.
//troll mode
Всё-таки будет жалко если Qt загнётся

Stahl ★★☆ ()

я бы создал несколько виджетов в различным содержимым и скрывал\показывал их в layout'е

vladimirsmirnov9 ()
Ответ на: комментарий от Pavval

Плюсую QStackedWidget. Самый правильный вариант делать такое.

не всегда же, стакед виджет нужен чтобы перекрывающиеся виджеты тасовать, а если, к примеру, ты хочешь сделать галерею миниатюр НЕХ, то правильно использовать QH(V)BoxLayout/QGridLayout и просто миниатюры туда добавлять как виджеты или контент QLabel

// хотя пример, конечно натянутый, для превьюх всяческих лучше использовать таблицы :)

shty ★★★★★ ()
Последнее исправление: shty (всего исправлений: 1)

не буду оригинален, но прочитав сабж - однозначно QStackedWidget

I-Love-Microsoft ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.