访问QList时,Qt应用程序冻结<qllnkedlist <qurl> *&gt;来自NetworkAccessManager-&gt; get()回调</qllnkedlist <qurl>

时间:2014-11-08 16:13:58

标签: c++ qt qnetworkaccessmanager qlist qlinkedlist

当我尝试访问QList<QLinkedList<QUrl>* >的{​​{1}}位置内的replyFinished(QNetworkReply* networkReply);时,我的应用程序会冻结。

我基本上在列表上循环一次,向列表中添加一些内容然后退出函数:

QNetworkAccessManager

在另一种情况下,我会执行以下操作:

foreach (QLinkedList<QUrl>* list, mList) {
    if (list->front() == url) {
        list->prepend(someUrl);
        mNetworkAccessManager->get(someUrl);
        return; 
    }
}

有没有办法让这个结构安全?

1 个答案:

答案 0 :(得分:0)

我被卷入无休止的循环,因为

QList<QLinkedList<QUrl>* >::iterator it = mList.begin();
while (it != mList.end()) {
    QLinkedList<QUrl>* list = *it;

永远不会增加迭代器..