2013-03-29 107 views
0

我有分別持有有效和無效QWebPage兩個數組,就是我想限制最大跑動QWebPages,所以我這樣做,移動從一個QList作一個對象到另一個

我用兩個QList作對象,

QList<QWebPage*> pages; // holds remaining pages 
QList<QWebPage*> active; // holds active ones 

當我需要發送一個請求,我做的:

void XXX::addRequest (QUrl url) 
{ 
    if (pages.size() > 0) 
    { 
     QWebPage *page = pages.front(); 
     pages.pop_front(); 
     active.push_back (page); 

     page->mainFrame().load (url); 
    } 
} 

根據要求完成,

void XXX::finished (bool ok) 
{ 
    QWebPage *page = qobject_cast<QWebPage*> (sender()); 

    // blabla 

    // now I need to move this "page" to the "pages" list 
} 

因爲一個對象可以屬於多個列表(它只是一個指針),我應該從active的QList刪除它,並將它添加到pages列表,

不過的QList只能通過索引號支持的缺失,我現在不能直接做到這一點。

任何想法?希望不要遍歷列表。

回答

1

的QList 不按項目價值支持刪除項目,不僅項目索引。有成員函數removeOne()removeAll()。在你的情況,removeOne()是正確的選擇。

相關問題