Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Qt

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
#1

Динамическое изменения содержимого виджета - C++ Qt

01.11.2013, 01:22. Просмотров 1629. Ответов 7
Метки нет (Все метки)

Читаю Qt 4.8 Шлее возможно что то упустил, допустим есть виджет с кнопкой, связываем кнопку со слотом который делает чтот вроде такого:

C++
1
2
3
4
5
6
7
8
void boom()
{
    QVBoxLayout* box = new QVBoxLayout;
    
    ...
    
    setLayout(box);
}
вместо ... создаем новые кнопки и добавляем их в layout , почему по нажатию на кнопку вместо нее не появляется содержимое нового layouta? или это через события делается?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 01:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическое изменения содержимого виджета (C++ Qt):

Как навести мышку на x,y внутри виджета относительно 0,0 виджета (левого верхнего угла виджета)? - C++ Qt
Как навести мышку на x,y внутри виджета относительно 0,0 этого виджета (левого верхнего угла виджета)? Или, как получить координаты x,y...

Динамическое изменение размера составного виджета - C++ Qt
Всем доброго времени суток! Делаю составной виджет, виджет довольно простой и служит для настройки ступеней/стадий (добавление, удаление и...

QML - изменение содержимого формы по клику кнопки и виджета - C++ Qt
Доброго дня всем!!! стоит задача - на qml написать прогу, где есть возможность изменения содержимого формы на другое содержимое по клику по...

QTableWidget сигнал изменения виджета в ячейке - C++ Qt
Qt 4.8.4 Есть таблица QTableWidget данных на строчек 20 не более. В ячейки этой таблицы с помощью метода setCellWidget добавляю...

Как отследить окончание изменения размеров виджета - C++ Qt
Как отследить окончание изменения размеров виджета?

Отлов любого изменения содержимого QListWidget - C++ Qt
Доброго времени суток. В программе есть текстовое поле, QListWidget и 2 кнопки. Одна - берет из текстового поля текст и добавляет его...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Elboy
131 / 112 / 4
Регистрация: 01.09.2012
Сообщений: 288
01.11.2013, 02:20 #2
Цитата Сообщение от Хулиган Посмотреть сообщение
добавляем их в layout
лейауты не содержат виджеты, а упорядочивают. То, что вы сделали по нажатию кнопки, - это установили вертикальный лейаут на родительский виджет.

Если хотите добавить в родительский виджет новые кнопки, то добавьте их в родительский лейаут(если он, конечно, есть):
parentLayout->addWidget(pNewButton);
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.11.2013, 02:37  [ТС] #3
Я имел ввиду что на виджете кнопка, при её нажатии она пропадает и появляются другие кнопки. Ну типо как в обычной программе нажимаем кнопку и попадаем уже на другую "страницу" с кнопками текстом и т.д. а главное окно остается
0
Elboy
131 / 112 / 4
Регистрация: 01.09.2012
Сообщений: 288
01.11.2013, 10:51 #4
Удаляем нажатую кнопку, запихиваем в родительский лейаут новые кнопки.
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.11.2013, 18:42  [ТС] #5
Цитата Сообщение от Elboy Посмотреть сообщение
Удаляем нажатую кнопку, запихиваем в родительский лейаут новые кнопки.
Это вообще правильный подход? Например есть кнопка "Опции", нажимаем и на этом же виджете появляются доступные опции. В реальных программах это реализуется с помощью удаления кнопок с главного виджета и добавление новых?
0
Elboy
131 / 112 / 4
Регистрация: 01.09.2012
Сообщений: 288
01.11.2013, 22:12 #6
Цитата Сообщение от Хулиган Посмотреть сообщение
В реальных программах это реализуется с помощью удаления кнопок с главного виджета и добавление новых
да реализовать-то можно по-всякому

Цитата Сообщение от Хулиган Посмотреть сообщение
есть кнопка "Опции", нажимаем и на этом же виджете появляются доступные опции
QStackedWidget
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.11.2013, 22:22  [ТС] #7
Цитата Сообщение от Elboy Посмотреть сообщение
да реализовать-то можно по-всякому
а как наиболее часто это делается? допустим на виджете отображаются флажки, я выбираю нужные, нажимаю кнопку далее и тут ооппп и на том месте, где были кнопки прорисовуются фигуры а под ними уже другие кнопки, т.е главное меню(типо приветствие, меняется на рисование фигур)
0
Elboy
131 / 112 / 4
Регистрация: 01.09.2012
Сообщений: 288
01.11.2013, 22:33 #8
как уже и было сказано - QStackedWidget. Мы ничего не удаляем, просто перелистываем виджеты.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2013, 22:33
Привет! Вот еще темы с ответами:

Вызов одного виджета из другого виджета - C++ Qt
добрый день, есть 2 формы, сделанные в дизайнере. По нажатию на кнопку из формы 1 хочу чтобы выводилась форма 2.Создал слот, слот...

Прорисовка виджета - C++ Qt
Вобщем хочется зделать своё появление QDialog, пробовал вариант QWidget::showEvent(), но вначале выполняется код этого метода, а только...

Размер виджета - C++ Qt
Виджет местит несколько layout. По нажатию на кнопку в layout добавляется несколько чекбоксов, как результат размер родительского виджета...

Изменение виджета - C++ Qt
Здравствуйте. Я только начал изучать qt и c++, поэтому сразу нубский вопрос... есть qmainwindow и qwidget. на qmainwindow есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.11.2013, 22:33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru