Omniwizard
Сен. 20, 2014 22:14:06
Добрый вечер! Не могу понять как добавить в сетку циклом экземпляры класса Single! Заранее спасибо за помошь!
class Single(QtGui.QFrame):
def __init__(self,parent=None):
super(Single, self).__init__(parent)
self.setStyleSheet('border:2px solid #866594;')
self.resize(331,65)
self.lable = QtGui.QLabel('ok', self)
self.show()
class FrameSingles(QtGui.QFrame):
def __init__(self,parent=None):
super(FrameSingles, self).__init__(parent)
self.resize(331,611)
self.move(19,60)
self.setStyleSheet('color:white;border:1px solid #866594;border-radius:5px;background:#d57285;')
self.hbox = QtGui.QHBoxLayout()
self.setLayout(self.hbox)
def data(self,group):
i=20
x=1
for key in group['items']:
i+=65
x+=1
z={}
z[x]=Single(self)
self.hbox.addChildWidget(z[x])
Omniwizard
Сен. 20, 2014 23:06:35
Все равно , создается, только один экземпляр , а мне надо чтобы создавались на весь цикл
vrabey
Сен. 20, 2014 23:38:23
Omniwizard
Все равно , создается, только один экземпляр , а мне надо чтобы создавались на весь цикл
да как бы правильно ответили поп повуду z
но ещё много чего не понятно в методе data
зачем переменные key, i, и что за метод addChildWidget
Omniwizard
Сен. 21, 2014 00:14:55
в data я передаю ответ от vk/api там список груп, потом я его разбераю. Так как тестирую я на выгрузки груп со своего вконтакта, для каждой группы я хотел создать отдельный класс, в который я в дальнейшем мог передавать: Название, ссылку на картинку и id. Я сначало попробовать списком сделать Qlist , но там возможностей не много , по этому решил отдельно создать Виджет под отдельную группу, так как можно его красиво оформить. Начал думать, как добавить на главный виджет, дочернии виджиты которые с помошью цикла созданны и добавлены на главный виджет.
Сейчас выводится только один виджет. И это странно.
py.user.next
Сен. 21, 2014 00:30:13
Omniwizard
Все равно , создается, только один экземпляр , а мне надо чтобы создавались на весь цикл
Если поменял что-то, код сюда копируй.
Собери какой-нибудь минимальный пример, чтобы мы могли его запустить у себя.
Rodegast
Сен. 21, 2014 01:23:40
1) QHBoxLayout это не “сетка”, а горизонтальный компоновщик т.е. все виджеты будут располагаться горизонтально.
2) Вместо addChildWidget используй addWidget
3) Про z={} тебе уже сказали.