Найти - Пользователи
Полная версия: И снова PyQt4
Начало » GUI » И снова PyQt4
1
saw_tooth
Доброго времени суток, подскажите как правильно организовать создание множество кнопок/чек-боксов в PyQt4 с последующим привязыванием к сигналам. Полагаю нужно использовать лямбда-функцию, но вопрос в другом - как сгенерировать нужное количество имен екземпляров класса? Прием как в Tk не конает.

Заранее спасибо.
saw_tooth
Неужели нет никакого альтернативного варианта кроме как объявлять в ряд 30 кнопок?
py.user.next
Можно список кнопок сделать. А если имена делать, используй setattr().

>>> class A:
...     def __init__(self):
...         for i in 'abcd':
...             setattr(self, i, i * 3)
... 
>>> a = A()
>>> a.a, a.b, a.c, a.d
('aaa', 'bbb', 'ccc', 'ddd')
>>>
saw_tooth
py.user.next
Можно список кнопок сделать. А если имена делать, используй setattr().
Если я не ошибаюсь паттерн “фабрика объектов”?

Где мы заводим класс который создает обеъкты
py.user.next
saw_tooth
Если я не ошибаюсь паттерн “фабрика объектов”?
Не, это просто пример, чтобы было понятно, как работает setattr().

По паттернам инфа.

Работа фабрики объектов напоминает функционирование виртуального конструктора, - мы можем создавать объекты нужных классов, не указывая напрямую их типы. В самом простом случае, для этого используются идентификаторы типов.
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