| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Передача QString из потока |
| Автор: SiNn3R 16.12.2010, 23:10 | ||||||||
| Здраствуйте. Есть 10 потоков, каждый из которых при необходимости отправляет QString в функцию класса Application - AddIncomeMessage. Эта функция должна добавлять текст в виджет формы mainwindow. Вот так выглядит моя функция:
Если её вызывать из основного потока приложения - всё нормально... Если из мной созданных - приложение рушится на строчке:
Как правильно добавлять записи в текстовое поле из потоков? Создал только 1 поток и вызываю из него эту же функцию. На третий вызов рушится на строчке:
При этом, в окне Application Output высвечивается:
С чем это связано? |
| Автор: borisbn 17.12.2010, 07:37 |
| Если ты просто вызываешь ф-цию AddIncomeMessage из потока, то так и должно быть. Почитай про http://doc.qt.nokia.com/4.7/signalsandslots.html. P.S. Если сделаешь через signal/slot и через QueuedConnection, то mutex не нужен |
| Автор: SiNn3R 17.12.2010, 11:30 |
| Я только недавно начал изучать Qt... Правильно ли я понимаю, что для того чтобы добавить текст в виджет одного потока из другого потока - нужно связать их с помощью connect? =) |
| Автор: SiNn3R 17.12.2010, 12:46 |
| Спасибо, разобрался =) |