Всем привет, есть ли в Qt возможность рисовать в разные

участки окна из разных потоков?

Из разных потоков рисовать действительно нужно, так как вычисления длительные

5 ответов

14 просмотров

насколько я знаю нет. выполняй нужные вычисления в других потоках, отправляй сигнал, а gui поток подписан на этот сигнал и рисует что надо

Timoshkin- Автор вопроса
mefest
насколько я знаю нет. выполняй нужные вычисления в...

получится ли так рисовать разные участки mainwindow?

Timoshkin- Автор вопроса
mefest
насколько я знаю нет. выполняй нужные вычисления в...

If you really need to use multiple threads, what you'll probably need to do is have the threads do all their calculations on their own private data structures that the Qt GUI thread has no access to. Then when the threads have computed their results, they should send the results back to the Qt GUI thread (via queued connection or QApplication::postEvent()). The GUI thread can then look at the results and use them to update the QGraphicsItems, etc; this will be "safe" because this update can't happen in the middle of a window update. я так понял, это надо выполнять с помощью QCoreApplication::postEvent, но postEvent принимает QEvent, нам нужно чтоб QEvent.type был у нас paint, чтобы мы могли заюзать painter, но как нам тогда в paintEvent передать кастомные данные?

Timoshkin
If you really need to use multiple threads, what y...

Извиняюсь, не вникал в Ваш первоначальный вопрос, но почему нужно использовать именно paintEvent??? Можно создать свое событие, унаследовав его от QEvent и отсылать его с помощью QCoreApplication::postEvent(), и естественно обрабатывать его как Вам нужно.

Timoshkin- Автор вопроса
BAHR
Извиняюсь, не вникал в Ваш первоначальный вопрос, ...

А разве QPainter можно юзать где-то кроме paintEvent?

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Всем привет! Взялся портировать модули на 18 версию, лезет _logger.log(log_level, 'no translation language detected, skipping translation %s', frame, stack_info=True) А чт...
Max Lit
3
Доброе утро, а кто то делал Google аналитику через php ? curl_setopt($ch, CURLOPT_NOSIGNAL, true); Это должно быть async без ожидания ответа. Вообще php нормально с таким с...
Max Dubovsky
9
Карта сайта