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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Особенности GUI-потока  (Прочитано 3016 раз)
Waryable
Гость
« : Февраль 11, 2011, 14:02 »

Други, поделитесь ссылочкой кто знает или ткните носом в статейку или гайд о том, как робит GUI-поток.
Я понимаю, что вопрос широк. Поэтому опишу причину возникновения вопроса.
Есть главное окно приложения. Пользователь имеет возможность нажатием кнопки создавать новые виджеты, которые не являются дочерними к главному, т.е. parent им не передается. В главном потоке есть визуальный компонент отображения текста, в который постоянно поступают данные. Во время перетаскивания одного из окон отображение текста замораживается. Хочется знать не только как побороть, но и причину такого поведения.
Заранее спс.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 11, 2011, 14:05 »

Причина в том, что все окна в одном потоке. Т.е. если одно окно захватывает управление (часто себя отрисовывает), то остальные начинают тормозить. Кстати, если отключить настройку винды "Отображать окно при перемещении", то тормозов не будет.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Февраль 11, 2011, 14:09 »

Это проблема винды. Под Х-ами такой проблемы нет. Qt здесь не причём.
Забейте.
Записан

Qt 5.11/4.8.7 (X11/Win)
Waryable
Гость
« Ответ #3 : Февраль 12, 2011, 07:37 »

Хм провел дома простенькие эксперименты. Пришел к выводу, что это проблема внутрипроцессная, т.е. перемещения окон других приложений не оказывают такого действия на окна моего процесса. Все же хочется почитать толковую лит-ру по этому поводу.
Записан
fuCtor
Гость
« Ответ #4 : Февраль 13, 2011, 08:18 »

Почитать можно в самой документации по классу QEventLoop, а там уже будут ссылки и на другие классы, задействованные в этом процессе.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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