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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Сделать скрин экрана максимально эффективно!  (Прочитано 11242 раз)
mutineer
Гость
« Ответ #15 : Август 14, 2013, 10:46 »

Заругался потому, что не в курсе куда ему девать возвращаемое значение
Записан
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



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

Заругался потому, что не в курсе куда ему девать возвращаемое значение

Ааа понятно.
Записан
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



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

А можете объяснить что делает
QMetaObject::invokeMethod(this, "your_function", Qt::BlockingQueuedConnection, Q_RETURN_ARG(QImage, frame));
в целом.. с такой конструкцией встречался редко..
И что вообще за класс такой QMetaObject?
Записан
mutineer
Гость
« Ответ #18 : Август 14, 2013, 11:04 »

У объекта this вызывает метод "your_function" через QueuedConnection и ждет окончания работы вызванного метода
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #19 : Август 14, 2013, 11:36 »

Цитировать
Спасибо kibsoft! Все получилось и работает шустро! Правда на слот QImage your_slot() он заругался
QMetaMethod::invoke: Unable to invoke methods with return values in queued connections почему-то.. поставил ему void!
Скорее всего потому что использовали Qt::QueuedConnection вместо Qt::BlockingQueuedConnection.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
mutineer
Гость
« Ответ #20 : Август 14, 2013, 11:53 »

Цитировать
If type is Qt::BlockingQueuedConnection, the method will be invoked in the same way as for Qt::QueuedConnection, except that the current thread will block until the event is delivered.
Цитировать
The return value of the member function call is placed in ret. If the invocation is asynchronous, the return value cannot be evaluated.

По доке создается ощущение что даже с Qt::BlockingQueuedConnection получить результат не удастся
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


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

Интересно, надо посмотреть.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #22 : Август 14, 2013, 17:57 »

Все работает. Я уже выше приводил ссылку на реализацию.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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