在run里行MessageBox这样有时是会出错的,Qt 的线程要求很高的,如果你想用QThread和QWidget交互,可以这样:
class myThread: public QThread {
Q_OBJECT
public:
myThread(QWidget* wd) {
connect(this, SIGNAL(mySignal(QString)), wd, SLOT(wdSlot(QString)));
}
~myThread() {
}
signals:
void mySignal(QString something);
public slots:
void someSlots();
public:
void run() {
..
if (I want to emit)
emit mySignal(something)
}
};