Название: Как добавить QScrollArea Отправлено: thechicho от Май 25, 2013, 13:10 Код: QGroupBox *groupBoxChoiceRegion = new QGroupBox(dialog); есть QGroupBox. на него динамически будут добавляться QPushButton, которые будут выравниваться QGridLayout. как мне добавить QScrollArea, чтобы если кнопок будет много, можно было воспользоваться полосой прокрутки? Название: Re: Как добавить QScrollArea Отправлено: gil9red от Май 25, 2013, 13:50 Как то так :) Не проверял, но должно работать :)
Код: QGridLayout *gridLayoutChoiceRegion = new QGridLayout(); Название: Re: Как добавить QScrollArea Отправлено: thechicho от Май 25, 2013, 14:38 не разобрался. не могли бы вы у себя проверить появится или нет полоса прокрутки, при добавлении кнопок на виджет?
я не пойму как связать лэйауты, виджеты и QScrollArea ??? Название: Re: Как добавить QScrollArea Отправлено: gil9red от Май 25, 2013, 16:11 Добавляйте на gridLayoutChoiceRegion кнопки и все :)
Название: Re: Как добавить QScrollArea Отправлено: thechicho от Май 25, 2013, 16:27 падает. возможно, я неверно добавляю.
у вас работает такой способ? Название: Re: Как добавить QScrollArea Отправлено: gil9red от Май 25, 2013, 16:30 Киньте этот код в main.cpp ;)
Код: QWidget *widget = new QWidget(); Название: Re: Как добавить QScrollArea Отправлено: gil9red от Май 25, 2013, 16:31 Проще делать такое не самому руками, а через дизайнер :)
Для того чтобы scrollarea начала скроллить, нужно ей не компоновщик (layout) подавать, а виджет Название: Re: Как добавить QScrollArea Отправлено: thechicho от Май 25, 2013, 17:17 компоновщики - это вынос мозга.
у меня диалог создается, у него компоновщик QGridLayout. так я добавляю QGroupBox Код: gridLayoutDialog->addWidget(groupBoxChoiceRegion, 0, 1, 2, 1); когда я пытался добавить QScrollArea и в слоте динамически добавлять кнопки Код: QGridLayout *gridLayoutChoiceRegion = dialog->findChild<QGridLayout *>("gridLayoutChoiceRegion"); прога падала. возможно я неправильно добавил QScrollArea возможно, мне не хватало Код: QWidget *widgetChoiceRegion = new QWidget(); спасибо за пример, посмотрю еще может заработает как и хотелось. хотя я уже решил, что лучше для данной задачи будет использовать QStackedWidget. выводить определенное количество кнопок, что не помещается выводить на другой странице QStackedWidget. добавить кнопки назад, далее, с помощью которых просматривать регионы. но тоже возникла трудность с добавлением кнопок на QStackedWidget. не пойму как добавить допустим 30 кнопок на 1 страницу, следующие 30 на другую и тп. тоже как-то через компоновщики это делается, наверное... создавать как вы посоветовали Код: QWidget *widgetChoiceRegion = new QWidget(); блин, почему все так запутано :o |