Ahmed Abdellatif
28th September 2017, 09:21
I tried to create a list of buttons using for loop as follow:
Mywidget::Mywidget()
{
QVBoxLayout *h_layout=new QVBoxLayout(this);
QPushButton *close_button=new QPushButton[4];
for (int i = 0; i < 5; ++i) {
close_button[i]=new QPushButton("Close",this);
h_layout->addWidget(close_button);
}
}
But the following error appears:
error: no match for 'operator=' (operand types are 'QPushButton' and 'QPushButton*')close_button[i]=new QPushButton("Close",this);
^
But if i removed
close_button[i] and make it only
close_button it create the required button, but the problem here that i can not use every pointer to do specific thing for example :
connect(close_button[2],SIGNAL(clicked(bool)),qApp,SLOT(quit()));
Please help
Mywidget::Mywidget()
{
QVBoxLayout *h_layout=new QVBoxLayout(this);
QPushButton *close_button=new QPushButton[4];
for (int i = 0; i < 5; ++i) {
close_button[i]=new QPushButton("Close",this);
h_layout->addWidget(close_button);
}
}
But the following error appears:
error: no match for 'operator=' (operand types are 'QPushButton' and 'QPushButton*')close_button[i]=new QPushButton("Close",this);
^
But if i removed
close_button[i] and make it only
close_button it create the required button, but the problem here that i can not use every pointer to do specific thing for example :
connect(close_button[2],SIGNAL(clicked(bool)),qApp,SLOT(quit()));
Please help