Qwidget Paintevent перестаньте быть вызванным без причиныC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Qwidget Paintevent перестаньте быть вызванным без причины

Сообщение Anonymous »

Я нахожу очень странную ситуацию, обновляя Qwidget в одном из моих приложений QT. Что происходит, так это то, что вдруг, что видест (Qevent*)) перестает вызывать, когда метод widget-> update () вызывается без какого-либо предупреждения или команды. Виджет (с функцией Update (). Другой поток - это основной поток, отвечающий за картины виджетов (правило в QT), которое выполняет функцию void paintevent (qevent*) . Таким образом, последовательность событий: < /p>


[*] Чтение потока Получить и идентифицировать пакет данных < /li>
Поток чтения. Поместите данные в буфер (Qabstracttablemodel, полученный класс) < /li>
, в том же чтении. Как его ребенок. Слот приемника называется slotpqdatached . < /li>

Код: Выделить всё

slotPQDataChanged
вызывает обновление виджета дочернего виджета function: posubwidget-> update ();
В основном потоке на данный момент qt «желания», Posubwidget's Paintevent (qevent*) function. У него есть Qpainter, который рисует полученные данные на нем. < /li>
< /ol>

Этот процесс происходит примерно 5 раз в секунду. Когда я запускаю систему, в течение некоторого времени все работает нормально (обычно 5-10 минут), но затем внезапно обновление PosubWidget Stop происходит . Я наверняка знаю, что это не тот поток для чтения, который остановился, потому что благодаря вызову Qdebug () я знаю, что «slotpqdatchanged» продолжает вызывать. Я также знаю, что это не основная нить, которая была убита или что -то в этом роде, потому что таймер на экране продолжает работать нормально, когда возникает проблема. И я знаю, что в моем коде нет смысла, когда я прошу детского виджета не обновлять, когда называется Update () < /code>. < /P>

И, конечно, я понятия не имею, что происходит; (быстрое) исследование по таким положительным результатам. < /p>

Стоит отметить, что мое приложение, вероятно, с ошибкой, которая иногда заставляет ее убивать из -за «вне памяти». < /p>

Итак, какие -либо предложения о том, что может произойти? < /p>

Подробнее здесь: https://stackoverflow.com/questions/271 ... out-reason
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • При использовании Pyside2 у меня есть: QWidget: необходимо создать QApplication перед QWidget.
    Anonymous » » в форуме Linux
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • Qt6 Как разместить полупрозрачный Qwidget через другой Qwidget
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • QPainter и PaintEvent не работают в Android
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • QPainter и PaintEvent не работают в Android
    Anonymous » » в форуме Android
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Pandas представляет терминаторы строк через to_csv без причины или причины
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»