Tomasz Losek
12th July 2015, 12:01
Hi!
I've a two buttons width display the form. Fieleds in form depend from selected button:
QWidget *base = new QWidget();
layout = new QGridLayout(base);
LeNrEwidencyjny = new QLineEdit();
LeNrRejestracyjny = new QLineEdit();
LeNrTelefonu = new QLineEdit();
GbPodstawoweInformacje = new QGroupBox();
QPushButton *BtnTypWlasny = new QPushButton(QIcon::QIcon(":/new/prefix1/user_business.png"),"pojazd własny");
BtnTypWlasny->setFixedHeight(80);
connect(BtnTypWlasny, SIGNAL(clicked()), this, SLOT(slotTypWlasny()));
QPushButton *BtnTypPrzewoznika = new QPushButton(QIcon::QIcon(":/new/prefix1/delivery.png"),"pojazd przewoźnika");
BtnTypPrzewoznika->setFixedHeight(80);
connect(BtnTypPrzewoznika, SIGNAL(clicked()), this, SLOT(slotTypPrzewoznika()));
layout->addWidget(BtnTypWlasny,0,0,1,1,Qt::AlignTop);
layout->addWidget(BtnTypPrzewoznika,0,1,1,1,Qt::AlignTop);
base->show();
this->setCentralWidget(base);
slotTypWlasny:
void FormNowaCiezarowka_add::slotTypWlasny(){
layoutTMP = new QGridLayout();
GbPodstawoweInformacje = new QGroupBox("pojazd własny");
layoutTMP->addWidget(new QLabel("nr ewidencyjny1: "),0,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrEwidencyjny,0,1,1,1,Qt::AlignTop);
layoutTMP->addWidget(new QLabel("nr rejestracyjny1: "),1,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrRejestracyjny,1,1,1,1,Qt::AlignTop);
layoutTMP->addWidget(new QLabel("nr telefonu1: "),2,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrTelefonu,2,1,1,1,Qt::AlignTop);
GbPodstawoweInformacje->setLayout(layoutTMP);
layout->addWidget(GbPodstawoweInformacje,1,0,1,2,Qt::Align Top);
}
and the slotTypPrzewoznika:
void FormNowaCiezarowka_add::slotTypPrzewoznika(){
layoutTMP = new QGridLayout();
GbPodstawoweInformacje = new QGroupBox("pojazd przewoźnika");
layoutTMP->addWidget(new QLabel("nr ewidencyjny2: "),0,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrEwidencyjny,0,1,1,1,Qt::AlignTop);
layoutTMP->addWidget(new QLabel("nr rejestracyjny2: "),1,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrRejestracyjny,1,1,1,1,Qt::AlignTop);
GbPodstawoweInformacje->setLayout(layoutTMP);
layout->addWidget(GbPodstawoweInformacje,1,0,1,2,Qt::Align Top);
}
whet i've pushed BtnTypWlasny and next push the BtnTypPrzewoznika i've got:
11272
I can't replece one widget by another :
layout->addWidget(GbPodstawoweInformacje,1,0,1,2,Qt::Align Top);
I've tried for example:
layout->removeWidget(layout->itemAtPosition(1, 0)->widget());
QWidget* widget0 = layout->itemAt(2)->widget();
delete widget0;
but it doesn't work :(
I've a two buttons width display the form. Fieleds in form depend from selected button:
QWidget *base = new QWidget();
layout = new QGridLayout(base);
LeNrEwidencyjny = new QLineEdit();
LeNrRejestracyjny = new QLineEdit();
LeNrTelefonu = new QLineEdit();
GbPodstawoweInformacje = new QGroupBox();
QPushButton *BtnTypWlasny = new QPushButton(QIcon::QIcon(":/new/prefix1/user_business.png"),"pojazd własny");
BtnTypWlasny->setFixedHeight(80);
connect(BtnTypWlasny, SIGNAL(clicked()), this, SLOT(slotTypWlasny()));
QPushButton *BtnTypPrzewoznika = new QPushButton(QIcon::QIcon(":/new/prefix1/delivery.png"),"pojazd przewoźnika");
BtnTypPrzewoznika->setFixedHeight(80);
connect(BtnTypPrzewoznika, SIGNAL(clicked()), this, SLOT(slotTypPrzewoznika()));
layout->addWidget(BtnTypWlasny,0,0,1,1,Qt::AlignTop);
layout->addWidget(BtnTypPrzewoznika,0,1,1,1,Qt::AlignTop);
base->show();
this->setCentralWidget(base);
slotTypWlasny:
void FormNowaCiezarowka_add::slotTypWlasny(){
layoutTMP = new QGridLayout();
GbPodstawoweInformacje = new QGroupBox("pojazd własny");
layoutTMP->addWidget(new QLabel("nr ewidencyjny1: "),0,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrEwidencyjny,0,1,1,1,Qt::AlignTop);
layoutTMP->addWidget(new QLabel("nr rejestracyjny1: "),1,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrRejestracyjny,1,1,1,1,Qt::AlignTop);
layoutTMP->addWidget(new QLabel("nr telefonu1: "),2,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrTelefonu,2,1,1,1,Qt::AlignTop);
GbPodstawoweInformacje->setLayout(layoutTMP);
layout->addWidget(GbPodstawoweInformacje,1,0,1,2,Qt::Align Top);
}
and the slotTypPrzewoznika:
void FormNowaCiezarowka_add::slotTypPrzewoznika(){
layoutTMP = new QGridLayout();
GbPodstawoweInformacje = new QGroupBox("pojazd przewoźnika");
layoutTMP->addWidget(new QLabel("nr ewidencyjny2: "),0,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrEwidencyjny,0,1,1,1,Qt::AlignTop);
layoutTMP->addWidget(new QLabel("nr rejestracyjny2: "),1,0,1,1,Qt::AlignTop);
layoutTMP->addWidget(LeNrRejestracyjny,1,1,1,1,Qt::AlignTop);
GbPodstawoweInformacje->setLayout(layoutTMP);
layout->addWidget(GbPodstawoweInformacje,1,0,1,2,Qt::Align Top);
}
whet i've pushed BtnTypWlasny and next push the BtnTypPrzewoznika i've got:
11272
I can't replece one widget by another :
layout->addWidget(GbPodstawoweInformacje,1,0,1,2,Qt::Align Top);
I've tried for example:
layout->removeWidget(layout->itemAtPosition(1, 0)->widget());
QWidget* widget0 = layout->itemAt(2)->widget();
delete widget0;
but it doesn't work :(