Найти - Пользователи
Полная версия: Насколько правильно
Начало » GUI » Насколько правильно
1 2
mironich
А должен ли класс для работы с ВК знать о форме?
Ну я не так немного написал.
Есть класс который выполняет запросы к VK_API, есть класс который управляет загрузкой фото ВК и установкой описания, он использует тот класс что в начале.
Как-то так.
vkapi, - класс для отправки запросов к API VK.
PhotoUploader - класс который управляет загрузкой фото, он использует класс vkapi, вообще цель класса, обработка исключений разных, их логирование, загрузка списка, фото в память , установка описание фото.
М.б выложу приложение когда до ума доведу и поймете о чем я.
Ну если if'ы выглядят как:
Так выглядят.
		if event.type() == events.MaximumProgressRecivedType:
			self.progress_bar.setMaximum(event.maximum)
		elif event.type() == events.ProgressChangeType:
			self.progress_bar.setValue(self.progress_bar.value() + event.value)
		elif event.type() == events.TaskComplete:
			#if self.progress_bar.value() != self.progress_bar.maximum():
			#	self.progress_bar.setValue(self.progress_bar.maximum())
			self.errors_conter = 0
			self.status_bar.clearMessage()
			self.stop_clicked()
		elif event.type() == events.CaptchaRecived:
			self.cp_box.exec__(event.img_data)
		elif event.type() == events.SetStatusMessage:
			self.status_bar.showMessage(event.message)
		elif event.type() == events.ErrorOcurred:
			self.errors_conter += 1
			self.errors_counter_label.caption = self.errors_conter
reclosedev
Вы что-то недосказали, я что-то недопонял, вот и получается почти бесполезное обсуждение : “может так, может не так”.

mironich
Так выглядят.
Это не тот случай, что писал. Но я бы все равно сигналы использовал.
Тогда несколько разных полей в event (maximum, message, value, img_data) и иерархия типов Event (?если есть), заменились бы параметрами сигналов. Многие сигналы можно было бы соединять напрямую с методом, например:
newStatusMessage = pyqtSignal(unicode)
...
self.api.newStatusMessage.connect(self.ui.status_bar.showMessage)
Само создание эвента, наверное, тоже длиннее чем вызов emit(param) сигнала.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB