LINUX.ORG.RU

Попробую поправить на синтаксически более правильное:

QVBoxLayout *layout = new QVBoxLayout; for(int i=0; i<1; i++) { QPushButton *quit=new QPushButton("PushButton"); layout->addWidget(quit); } setLayout(layout);

gaa ★★
()
Ответ на: комментарий от gaa

Спасибо, так работает.. Но мне бы сразу при инициализации в массив указателей на QPushButton засовывать всё.

QPushButton *btn[i]=new QPushButton("PushButton");   - пишет, что не может инициализировать.

main.cpp:23: error: variable-sized object `btn' may not be initialized

Хотя объявлено всё.. QPushButton* btn[3]; //массив указателей.

По логику new должен вернуть  в элемент массива всё без проблем. Т.к. этот элемент есть указатель на QPushButton.

Вышел из ситуации через копирование созданного указателя.

QPushButton* btn[3];
	QVBoxLayout *layout = new QVBoxLayout; 
	for(int i=0; i<3; i++) { 
		QPushButton *quit=new QPushButton("PushButton");
		btn[i]=quit;
		
		layout->addWidget(quit); 
		quit->setText("Sdfsdfsd");
	} 
	btn[1]->setText("11");  //c btn делать потом можем всё, что угодно
	setLayout(layout); 


Извиняюсь, может я не понимаю в каком-то месте самой сущности С++. Я не программист - просто книгу Лафоре на досуге прочитал)) Решил попробовать.

anonymous
()
Ответ на: комментарий от anonymous

QPushButton *btn[3];
QVBoxLayout *layout = new QVBoxLayout; 

for(int i = 0;i < 3;i++)
{ 
    btn[i] = new QPushButton("PushButton");

    btn[i]->setText("Sdfsdfsd");

    layout->addWidget(btn[i]); 
} 

btn[1]->setText("11");  //c btn делать потом можем всё, что угодно
setLayout(layout); 

alex_custov ★★★★★
()
Ответ на: комментарий от anonymous

Может сначала всё-таки на "голом" c++ научимся писать? А лучше всего, чтобы не травмироваться сразу на python, и быстрее писать, и меньше ошибок.

krum
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.