Показать QMessageBox из QThread - PullRequest
3 голосов
/ 29 ноября 2010

Я хочу отобразить окно сообщения из отдельного потока, однако я получаю эту ошибку:

QThread: Destroyed while thread is still running

Может кто-нибудь объяснить, как отобразить окно сообщения из потока?

1 Ответ

3 голосов
/ 29 ноября 2010

испускать сигнал.Поскольку вы не можете выполнять пользовательский интерфейс в Qthread, вместо этого отправьте ваше сообщение в качестве аргумента вашего сигнала.

удаление сигнала в вашей qthread:

signals:
  void write2SysStatus(QString theMessage);

испуская сигнал из qthread:

emit write2SysStatus("Some status");

объявление / определение слота в QMainWindow:

public slots:
  void eWriteLine ( QString theMessage ){
       //this is where you use you message box.
  }

подключение слота и сигнала:

connect(pFPSengine, SIGNAL(write2SysStatus(QString)), this,SLOT(eWriteLine(QString)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...