在基于 QThread 的类中,我有一个 QWebPage,当 loadFinished() 时,我需要解析内容,它会卡住 UI。所以我把所有东西都放在一个线程中:
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 的类中,我得到了错误,似乎你不能将事件移动到一个新线程。
有什么想法吗?