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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSerialPort не шлет readyRead во время ресайза окна или его перемещения  (Прочитано 3814 раз)
Vamireh
Гость
« : Апрель 19, 2013, 00:19 »

При ресайзе окна QSerialPort перестает слать readyRead. При этом буфер накапливается до какого-то предела, и если двигать окно 1-2 сек, то он переполняется и обнуляется. Гугл ничего не дал.

То есть в классе диалога мой класс, в котором экземпляр QSerialPort и его readyRead связан с методом диалога, который, если кратко, отображает данные. Так вот во время манипуляций с идалогом данные не отображаются
« Последнее редактирование: Апрель 19, 2013, 00:22 от Vamireh » Записан
Bepec
Гость
« Ответ #1 : Апрель 19, 2013, 07:24 »

Я вам по секрету скажу, что если у вас всё происходит в одном потоке, то движение окна заставляет программу "застыть", а данные соответственно будут накапливаться.

Это фишка винды как операционной системы. Перенесите  работу с портом в другой поток и всё должно заработать Подмигивающий
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #2 : Апрель 19, 2013, 10:33 »

Да. Верес прав Улыбающийся

В будущем, для Qt5 реализации планируется заменить нотификаторы типа QWinEventNotifier на QWinOverlappedNotifier (или как там оно в Qt5 называется).
Тогда в принципе проблема может решиться. Но это не скоро будет и только для Qt5.
Записан

ArchLinux x86_64 / Win10 64 bit
Vamireh
Гость
« Ответ #3 : Апрель 19, 2013, 19:43 »

Я вам по секрету скажу, что если у вас всё происходит в одном потоке, то движение окна заставляет программу "застыть", а данные соответственно будут накапливаться.

Это фишка винды как операционной системы. Перенесите  работу с портом в другой поток и всё должно заработать Подмигивающий

Что-то об этом не подумал. Хотя мне казалось, что раньше работало, прогрессбар обновлялся во всяком случае, хотя не помню насчет потоков, как я там сделал. В понедельник попробую, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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