Быстрый вывод в QTextEdit

Модератор: Модераторы разделов

grub
Сообщения: 128
ОС: Slackware 12.0

Быстрый вывод в QTextEdit

Сообщение grub »

Проблемма такая, не получается быстро выводить текстовые данные на форму.
Для вывода я использую QTextEdit и его метод append(). Если выводить данные с черепашьей скоростью, то все работает отлично. Но если вывод осуществляется быстро (поток данных получается по сети и затем в читабельном виде выводится в окошко) то через несколько секунд программа вылетает с ошибкой сегментации. При этом gdb останавливается на библиотечных функциях, а в консоль откуда запускалось приложение выпадают сообщения таких типов:

Самое частое:
QPixmap::operator=: Cannot assign to pixmap during painting


Чуть пореже:
Xlib: unexpected async reply (sequence 0x17b3)!


А один раз даже:
QPixmap::operator=: Cannot assign to pixmap during painting
X Error: BadLength (poly request too large or internal Xlib length error) 16
Major opcode: 56
Minor opcode: 0
Resource id: 0x0
X Error: BadLength (poly request too large or internal Xlib length error) 16
Major opcode: 14
Minor opcode: 0
Resource id: 0x0
X Error: BadRequest (invalid request code or no such operation) 1
Major opcode: 250
Minor opcode: 0
Resource id: 0x0
X Error: BadLength (poly request too large or internal Xlib length error) 16
Major opcode: 32
Minor opcode: 0
Resource id: 0x0
monitor: Fatal IO error: client killed


Вывод я осуществляю из потока наследника QThread. Пробовал закоментировать и вместо него выводь на консоль:
// TextEdit->append( str )
printf("%s", str.ascii()) ;

Выводится отлично, а как только возвращаю обратно вывод в форму опять тотже косяк!
Может кто сталкивался, или знает где есть ответ? А то я уже реально запарился!!! :dry:
Или может есть какие другие методы решения задачи?
Версия Qt3.3.4 Поменять ее не могу.
Спасибо сказали: