Название: Генерация собственного сообщения QEvent Отправлено: AK от Января 20, 2021, 08:27 Использую несколько потоков тяжелых вычислений, по окончанию расчетов в потоке посылаю главному потоку сообщение (пример подсмотрел, кажется осознал и доработал):
Код: const QEvent::Type THREAD_FINISHED_EVENT = static_cast<QEvent::Type>(QEvent::User + 111); Код: new TFinishedEvent( id ) Название: Re: Генерация собственного сообщения QEvent Отправлено: Old от Января 20, 2021, 08:41 Второе же предложение в документации:
The event must be allocated on the heap since the post event queue will take ownership of the event and delete it once it has been posted. It is not safe to access the event after it has been posted. Название: Re: Генерация собственного сообщения QEvent Отправлено: AK от Января 20, 2021, 08:59 А как же тогда забрать идентификатор потока?
Работал такой код: Код: void MainWindow::customEvent(QEvent *event) Название: Re: Генерация собственного сообщения QEvent Отправлено: AK от Января 20, 2021, 09:10 Второе же предложение в документации: "posted", я так понимаю, это отправка в очередь событий. Фактически написано, что событие будет удалено после отправления в очередь. Следует читать, что удалено будет после очередного завершения customEvent()? The event must be allocated on the heap since the post event queue will take ownership of the event and delete it once it has been posted. It is not safe to access the event after it has been posted. Название: Re: Генерация собственного сообщения QEvent Отправлено: Old от Января 20, 2021, 09:30 Google translate:
Событие должно быть размещено в куче, поскольку очередь событий публикации станет владельцем события и удалит его после того, как оно будет опубликовано. Доступ к событию после его публикации небезопасен. Конечно имеется ввиду, когда оно будет доставлено. Название: Re: Генерация собственного сообщения QEvent Отправлено: AK от Января 20, 2021, 09:43 Да, спасибо большое, но читалось, согласитесь, неочевидно. Для новичка во всяком случае.
Название: Re: Генерация собственного сообщения QEvent Отправлено: Igors от Января 20, 2021, 17:02 Использую несколько потоков тяжелых вычислений, по окончанию расчетов в потоке посылаю главному потоку сообщение (пример подсмотрел, кажется осознал и доработал): Возможно для той же цели лучше подойдет слот/сигнал, механизм событий будет задействован автоматычно при посылке из одной нитки в другую если коннект был AutoConnection (дефаулт)Название: Re: Генерация собственного сообщения QEvent Отправлено: Авварон от Января 21, 2021, 03:02 Хороший пример когда "вумные" указатели бы пригодились
|