一、定义了两个qmap
QMap<int, QMap <QUrl, QPushButton *>> maparray;//第一个button里面套了第二个小button
QMap<QUrl, QPushButton *> buttonarray;
初学qt,当我想取第二个qmap的qpushbutton的时候,我直接写的是
maparray[i]->value().setGeometry(70 + (i - 1)*((500 - (n + 1) * 10) / n + 10), 130, (500 - (n + 1) * 10) / n, 100);
但是这样不是正确的写法
正确写法如下
QMap<int, QMap <QUrl, QPushButton *> >::iterator it = maparray.begin();
QMap <QUrl, QPushButton *> urlMap = it.value();
QMap <QUrl, QPushButton *>::iterator itTemp = urlMap.begin();
QPushButton * s = itTemp.value();
QMap < QUrl, QPushButton * > map = maparray[i].value();
s->setIcon(QIcon(publicpixmap));
这样就可以取到了,之前的想法里面少了一层,所以取不到
总结
qt对qmap里面再套一层qmap的操作