Russian Qt Forum

Qt => Общие вопросы => Тема начата: dr_Begemot от Май 06, 2010, 15:17



Название: Оцениете насколько правильный код
Отправлено: dr_Begemot от Май 06, 2010, 15:17
Пожалуйста, оцените код на предмет утечек памяти и правильности вообще:

В конструкторе создается
Код:
len = 0;
menu = new QMenu(this);
signalMapper = new QSignalMapper(this);
connect(signalMapper, SIGNAL(mapped(int)), this, SLOT(setColor(int)));

Далее в цикле добавляется несколько Action:
Код:
void ColorButton::addColor(const QColor color, const QString name){
QIcon icon;
setupIcon(&icon, color);

QAction *act = menu->addAction(icon, name);
connect(act, SIGNAL(triggered()), signalMapper, SLOT(map()));
signalMapper->setMapping( act, len );
len++;       
}
void ColorButton::setupIcon(QIcon *icon, QColor color, QSize sz){
QPixmap pixmap(sz);
pixmap.fill(color);
icon->addPixmap(pixmap);
}

В h-файле setupIcon описан так:
Код:
void setupIcon(QIcon *icon, QColor color, QSize sz = QSize(16, 16));

Все, больше ничего нигде не удается деструктор пустой)
спасибо)


Название: Re: Оцениете насколько правильный код
Отправлено: kibsoft от Май 06, 2010, 15:53
Насчет утечек - вроде все нормально(т.е. их не будет). Если сомневаешься с QAction'ами, то попробуй вывести menu->dumpObjectTree (), в консоль выведутся все дочерние объекты.