2012-11-02 31 views
0

在基於QThread的類中,我有一個QWebPage,當loadFinished()需要解析內容時,它會卡住UI。所以我把在一個線程中的一切:是否可以在基於QThread的類中使用QWebPage?

class Thread: public QThread 
{ 
    public: 
     Thread (QObject *p): QThread (p) 
     { 
     moveToThread (this); 
     connect (&page, SIGNAL(loadFinished(bool)), SLOT(loadFinished(bool))); 
     } 
    private slots: 
     void loadFinished (bool ok) 
     { 
     // never get called, unless I remove the `moveToThread(this)` 
     } 
}; 

我也試圖移動QWebPage的這個基礎的QThread類事件,以及,我得到了錯誤,似乎不能將事件移動到一個新的線程。

關於它的任何想法?

回答

0

不幸的是,不能在與主GUI線程不同的線程上創建Qt GUI元素。如果您試圖彌補由於QWebPage中資源加載導致的圖形用戶界面速度下降,我完全理解您的思維過程。我已經徹底調查過這個問題,還沒有找到太清楚的答案。

Windows中的代理查詢存在長時間報告錯誤:https://bugreports.qt-project.org/browse/QTBUG-10106此錯誤目前尚未解決,但未來可能會有解決方法。

相關問題