Вот кусок записи кода:
void DlgNameReader::initColor(QString* rec)
{
/// Кое-какой код
dname_vec[dname_vec.size() - 2].setColor(str_right);
dname_vec[dname_vec.size() - 1].setPrMin(dname_vec[dname_vec.size() - 2].getPrMin());
dname_vec[dname_vec.size() - 1].setPrMax(dname_vec[dname_vec.size() - 2].getPrMax());
}
}
}
Вот присвоение уже QColor:
for(vector<Reader::DName>::iterator jter=dist_vec -> begin(); jter!=dist_vec -> end(); ++jter)
if(jter -> getPrName() == parameter -> Name().c_str() && jter -> getAddress() == parameter -> Address())
{
QString s_color = jter -> getColor();
clr = QColor(s_color);
break;
}
QFactParam inParam(parameter, DISTPARAM, &clr);
if(check -> isChecked())
fact_prm.push_back(inParam);
А вот здесь все время выдается #000000:
QString color = fact_prm[id].param_color -> name();
painter -> setPen(*fact_prm[id].param_color);
painter -> drawPolyline(polyline);