Russian Qt Forum
Ноябрь 22, 2024, 22:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Указатели  (Прочитано 7528 раз)
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #15 : Август 10, 2016, 14:36 »

Вам не кажется, что за такое нужно переводить в разносчики кофе. Улыбающийся

Поэтому я и предлагаю через таймер обновляццо Улыбающийся
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #16 : Август 10, 2016, 14:38 »

Наследник от QGraphicView, а не от MainWindow, и как ему читать данные, не имея указателя? желательно не используя сигналы, а на прямую?

Через интерфейс, который вернет необходимые данные.
Типа
QImage GetLastImage();

Добавьте этот метод в ваш класс потока и вызывайте его из гуя по таймеру.
В методе возвращайте последнюю полученную картинку.

« Последнее редактирование: Август 10, 2016, 14:41 от Racheengel » Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #17 : Август 10, 2016, 15:18 »

Просто хочется сделать проще, без копирования, и прочего, получил, отрисовал в определнныйх полотнах QImagе, и выдал на экран.

...желательно не используя сигналы, а на прямую?
При взаимодействии 2 и более ниток "напрямую" ничего не делается. Так или иначе главной надо "забрать" имедж, и указатель здесь никак не поможет - все равно надо знать что имедж валиден, его можно рисовать. Др словами синхронизация все равно нужна. И вообще имплисит шара - фундаментальная фича Qt, напрасно Вы так небрежно к ней относитесь.

Оригинальные пиксели легко могут быть изменены через поинтер, полученный через QImage::scanLine (как чаще всего и делается), при этом никакой detach() не вызовется.
Только ручками, только хардкор Улыбающийся
Даже если полезли в пыксели (о чем разговора не было) - передернуть затвор никто не мешал
Код
C++ (Qt)
uchar* linePtr = img.scanLine(0); // тут detach, понятно
linePtr[0] = 0xff;
emit ImageChanged(img); // ушел сигнал...
linePtr = img.scanLine(0);  
...
 
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #18 : Август 10, 2016, 15:34 »

я бы делал так:
1. QUdpSocket и в его событии приема рисовал бы (сразу или N раз в сек)

2. Если вариант 1 тормозит, то
2.1 QUdpSocket и в его событии приема сбор данных в QByteArray
2.2 По накоплению данных (или какому иному условию) - старт потока обработки(рендеренга) или через QtConcurent
2.3 Данные обработаны - сигнал в основной поток с этими данными для отрисовки

Записан
deefox
Гость
« Ответ #19 : Август 10, 2016, 16:10 »

я бы делал так:
1. QUdpSocket и в его событии приема рисовал бы (сразу или N раз в сек)

2. Если вариант 1 тормозит, то
2.1 QUdpSocket и в его событии приема сбор данных в QByteArray
2.2 По накоплению данных (или какому иному условию) - старт потока обработки(рендеренга) или через QtConcurent
2.3 Данные обработаны - сигнал в основной поток с этими данными для отрисовки



QUdpSocket очень плохо принимает данные, поэтому и использую boost.

но все примерно так и есть
Всем спасибо, познал очень много с темы.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #20 : Август 10, 2016, 16:20 »

QUdpSocket очень плохо принимает данные, поэтому и использую boost.

Могу спросить, что за проблемы были выявлены с QUdpSocket ?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #21 : Август 10, 2016, 16:46 »

QUdpSocket очень плохо принимает данные, поэтому и использую boost.

какой багрепорт это подтверждает ?
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.077 секунд. Запросов: 23.