crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Статус бар и 2-й поток
RazrFalcon
  опции профиля:
сообщение 14.1.2011, 0:48
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


В потоке происходит обработка изображений.
Когда началась обработка, надо сменить статут с именем изображения.
Как это сделать из потока?
Доппоток только один, что бы гуй не зависал (темнел в моем случае). Прога висит в трее.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sidsukana
  опции профиля:
сообщение 14.1.2011, 1:00
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 158
Регистрация: 23.12.2010
Из: Челябинск
Пользователь №: 2296

Спасибо сказали: 10 раз(а)




Репутация:   2  


Я делал второй поток и вызывал из него QApplication::postEvent. На интерефейсе получал ивент с данными из второго потока и применял их на статус бар - все работало без проблем и глюков :)
Как пример если разберешь код то пожалуйста https://bitbucket.org/sidsukana/qt_honor_updater
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 14.1.2011, 18:24
Сообщение #3


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Цитата(sidsukana @ 14.1.2011, 1:00) *
Я делал второй поток и вызывал из него QApplication::postEvent. На интерефейсе получал ивент с данными из второго потока и применял их на статус бар - все работало без проблем и глюков :)
Как пример если разберешь код то пожалуйста https://bitbucket.org/sidsukana/qt_honor_updater

Как альтернативу можно использовать механизм "сигналов/слотов". Но это, на мой взгляд, дело вкуса и может зависеть от архитектуры конкретного ПО.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 14.1.2011, 19:14
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


А как сделать сигнал чтобы из потока меня статус бар?
Я из потока даже доступ к нему не могу получить, как и к гую вообще.

Сообщение отредактировал RazrFalcon - 14.1.2011, 19:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 26.1.2011, 9:50
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


1. Сделай у потока сингал void progress(int).
2. При запуске потока соедини этот сигнал потока с слотом прогресс бара setValue(int)
3. В потоке вызывай сигнал emit progress( value )

Все просто)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 4:43