Название: Как отобразить QGroupBox
Отправлено: Tricitron от Август 03, 2012, 12:07
Не получается отобразить QGroupBox с элементами. Надо сделать так: QWidget - QVBoxLayout - QGroupBox. Как на QGroupBox добавить QPushButton #include <QtGui>
int main (int argc, char** argv) { QApplication app(argc, argv); QWidget wgt; QPushButton* pbtA = new QPushButton("Button 1"); QPushButton* pbtB = new QPushButton("Button 2"); QPushButton* pbtC = new QPushButton("Button 3");
QGroupBox* gbA = new QGroupBox("&Group Push Buttons");
QVBoxLayout *vboxLayoutA = new QVBoxLayout;
vboxA->addWidget(pbtA); vboxA->addWidget(pbtB); vboxA->addWidget(pbtC);
vboxLayoutA->addWidget(gbA);
gbA->setLayout(vboxLayoutA);
wgt.setLayout(vboxLayoutA); wgt.show();
return app.exec();
}
Название: Re: Как отобразить QGroupBox
Отправлено: mutineer от Август 03, 2012, 12:09
Переменная vboxA не определена
Название: Re: Как отобразить QGroupBox
Отправлено: Tricitron от Август 03, 2012, 12:15
не правильно написал, #include <QtGui>
int main (int argc, char** argv) { QApplication app(argc, argv); QWidget wgt; QPushButton* pbtA = new QPushButton("Button 1"); QPushButton* pbtB = new QPushButton("Button 2"); QPushButton* pbtC = new QPushButton("Button 3");
QGroupBox* gbA = new QGroupBox("&Group Push Buttons");
QVBoxLayout *vboxLayoutA = new QVBoxLayout;
vboxLayoutA->addWidget(pbtA); vboxLayoutA->addWidget(pbtB); vboxLayoutA->addWidget(pbtC);
vboxLayoutA->addWidget(gbA);
gbA->setLayout(vboxLayoutA);
wgt.setLayout(vboxLayoutA); wgt.show();
return app.exec();
}
Название: Re: Как отобразить QGroupBox
Отправлено: mutineer от Август 03, 2012, 12:18
Ты добавляешь групбокс в лейаут, а потом задаешь этот же лейаут этому же групбоксу. Это какая-то глупость - групбокс не сможет отобразиться сам внутри себя. Посмотри доку по QGroupBox, там есть пример
Название: Re: Как отобразить QGroupBox
Отправлено: kambala от Август 03, 2012, 12:28
лэйаут может относиться только к одному виджету C++ (Qt) #include <QtGui> int main (int argc, char** argv) { QApplication app(argc, argv); QPushButton* pbtA = new QPushButton("Button 1"); QPushButton* pbtB = new QPushButton("Button 2"); QPushButton* pbtC = new QPushButton("Button 3"); QGroupBox gbA("&Group Push Buttons"); QVBoxLayout *vboxLayoutA = new QVBoxLayout(&gbA); vboxLayoutA->addWidget(pbtA); vboxLayoutA->addWidget(pbtB); vboxLayoutA->addWidget(pbtC); gbA.show(); return app.exec(); }
Название: Re: Как отобразить QGroupBox
Отправлено: Tricitron от Август 03, 2012, 12:59
Объясните пожалуйста вот эти две строчки QGroupBox gbA("&Group Push Buttons"); QVBoxLayout *vboxLayoutA = new QVBoxLayout(&gbA);
Название: Re: Как отобразить QGroupBox
Отправлено: kambala от Август 03, 2012, 13:11
первая - создаем групбокс на стеке (в main главный виджет необязательно создавать в куче), вторая - устанавливаем лэйаут на групбокс
|