![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
smartchecker |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Как связать потоки, которые создавались где-то в потомках QThread с главным потоком GUI?
|
|
|
sidsukana |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
QApplication::thread() не?
|
|
|
smartchecker |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я ж не могу написать connect, т.к. ещё не знаю адреса объекта конкретного thread'а.
Общий смысл такой. Поток начал что-то делать - записалось время начала в таблицу. Закончил - записалось в туже табл. в соотв. строчку время окончания и результат. Как? |
|
|
sidsukana |
![]()
Сообщение
#4
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
QApplication::postEvent(); изучайте.
Сообщение отредактировал sidsukana - 29.11.2011, 16:47 |
|
|
smartchecker |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
sidsukana |
![]()
Сообщение
#6
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Создаете наследника QEvent, в котором объявляете все необходимые для переноса переменные.
В потоке, в завершении выполнения всех операций вызываете
Где main_object - обьект GUI формы на которую надо отослать информацию из потока. Где MyEvent - класс наследник QEvent Где myresult - что угодно в качестве результат который будет размещен в обьекте евента и послан на main_object Правда я не учел что необходимо протаскивать объект формы в потоки, чтобы его указать в postEvent. Может и по другому можно, но по началу я так делал, и больше не сталкивался с возвратом результата на форму из потока. В главной форме принимать через вирутальный метод
2. Еще можно маппер сигналов попробовать использовать. Или просто проброс сигнала из субпотока в поток и в главную форму. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 22:24 |