Qt のスレッド化のいくつかの概念を誤解している可能性があると思いますが、
QWidget から派生した私のウィンドウ クラスでは:
class Widget
{
Q_OBJECT
public:
Widget::Widget (QObject *parent = 0) : QObject(parent)
{
moveToThread(&th); // still stuck
connect (&th, SIGNAL(started()), SLOT(doWork()));
th.start();
}
private:
QThread th;
private slots:
void doWork ()
{
// hmm, this stuck the UI
while (1)
{
qDebug() << "Sleeping";
}
};
};
QThread によって呼び出されたので、永久ループは UI をスタックさせました。このコードの何が問題なのか、誰か指摘できますか?