Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 24, 2011 12:21:10

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

обращение к GUI из многопотока

приложение с GUI на pyqt4
главный поток запускает десяток других потоков с помощью ThreadPoolExecutor

я знаю, что из потоков к гуи напрямую обращаться нельзя - если к примеру менять счетчики или выводить лог - для этого надо использовать сигналы и слоты

но если надо просто получить данные из гуи?
к примеру, если в гуи юзер указал определенное число-настройку и каждый поток достает это число через self.ui.lineEdit_test.text()

нормально ли так обращаться без сигналов и слотов, чтобы просто читать значения?



Офлайн

#2 Фев. 24, 2011 12:41:47

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

обращение к GUI из многопотока

Гарантий нет. Иногда - прокатывает



Офлайн

#3 Фев. 24, 2011 13:04:43

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

обращение к GUI из многопотока

Не надо ничего доставать из GUI. Если пользователь что-то где-то указал, то это что-то надо сохранить в отдельном классе, который отвечает за общие настройки, и работать уже с этим классом. Программа не должна спрашивать ничего у GUI. Это GUI должен спрашивать у программы что ему рисовать.

Смотри MVC/MVP.



Отредактировано (Фев. 24, 2011 13:05:44)

Офлайн

#4 Фев. 24, 2011 21:03:42

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

обращение к GUI из многопотока

да, я хотел сказать что понимаю что надо так делать, но потом решил опустить, чтобы пост не получился слишком длинный :)
это одно из моих первых серъёзных приложений на питоне, ещё не все успел продумать



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version