
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Сообщ.
#1
,
|
|
|
Добрый день.
Есть 3 button a. как посадить все эти button ы на однин обший диалог? ![]() ![]() threadAButton = new QPushButton(tr("Start A")); threadBButton = new QPushButton(tr("Start B")); quitButton = new QPushButton(tr("Quit")); |
Сообщ.
#2
,
|
|
|
Где-то в конструкторе делаешь примерно так:
![]() ![]() QGridLayout *layout; //тут можно взять и другой layout layout->addWidget(threadAButton, 0, 0); layout->addWidget(threadBButton, 0, 1); layout->addWidget(quitButton, 1, 0); Также можно заюзать QButtonGroup |
Сообщ.
#3
,
|
|
|
После этого тебе надо создать layout (их много - VBoxLayout, HBoxLayout, GridLayout, StackLayout и т. п. - в зависимости от того, какое расположение тебе нужно получить). Ну, предположим так:
![]() ![]() QVBoxLayout* l = new QVBoxLayout(); l->addWidget(threadAButton); l->addWidget(threadBButton); l->addWidget(quitButton); dlg->setLayout(l); // а теперь добавляем кнопки (вместе с layout'ом) на диалог. |
Сообщ.
#4
,
|
|
|
Alex Forth
Flex Ferrum спасибо |
Сообщ.
#5
,
|
|
|
knut
Хорошим стилем будет создавать кнопки с родителем диалогом. ![]() ![]() threadAButton = new QPushButton(tr("Start A"), parentPointer); |
Сообщ.
#6
,
|
|
|
Цитата gryz @ Хорошим стилем будет создавать кнопки с родителем диалогом. Хм... Я бы так не сказал. В некоторых случаях это может привести к, гм... нежелательным эффектам... |
Сообщ.
#7
,
|
|
|
Цитата Flex Ferrum @ Цитата gryz @ Хорошим стилем будет создавать кнопки с родителем диалогом. Хм... Я бы так не сказал. В некоторых случаях это может привести к, гм... нежелательным эффектам... В некоторых - возможно да. Интересно, в каких? |
Сообщ.
#8
,
|
|
|
Цитата gryz @ В некоторых - возможно да. Интересно, в каких? У меня очень интересные эффекты возникали, когда добавлял corner-button на таббар. Если ее создавать с явно указанным родителем, то вести она себя начинает совершенно по-свински. По этому я вполне резонно допускаю, что лэйаут сам разберется - кому и какого родителя назначать. |
Сообщ.
#9
,
|
|
|
понятно.
Я о том, если лейаут не нужен, то сажать нужно указывая родителя в конструкторе. Плохо - через setParent(); |