Название: Генерация собственного сообщения 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 Хороший пример когда "вумные" указатели бы пригодились
|