Возникла проблемка, почему-то QMap передается только со второго раза. Получается у меня виртуальный класс :
C++ (Qt)
class TrackerRequest: public QObject
{
public:
TrackerRequest(){}
virtual void checkLogin() = 0;
virtual void getCategory() = 0;
virtual QMap<int,QString> returnCategory(){return catmap;}
protected:
QMap<int,QString> catmap;
};
и его наследник
*.hC++ (Qt)
class TrackerTBDevYuna : public TrackerRequest
{
Q_OBJECT
public:
QMap<int,QString> returnCategory(){return catmap;}
private:
QMap<int,QString> catmap;
};
в
*.cpp получаю категории и заполняю
catmapC++ (Qt)
QRegExp rx2("<option value=\"([^0]*)\">(.*)</option>");
rx2.setMinimal(true);
int pos = 0;
while ((pos = rx2.indexIn(text, pos)) != -1) {
catmap.insert(rx2.cap(1).toInt(), rx2.cap(2));
pos += rx2.matchedLength();
}
а в основном приложении при клике на кнопку беру карту и заполняю с нее комбобокс
C++ (Qt)
QMap<int,QString> map;
map = tracker->returnCategory();
qDebug() << map.count();
QMapIterator<int,QString> i(map);
while (i.hasNext()) {
i.next();
cb->addItem(i.value());
}
Но вот почему-то он заполняется только после второго клика, а на первом карта остается пустой