Форум сайта python.su
5
Посоны хелп. 2 часа просидел опять решить не могу. Видел помню где-то раньше, что можно сделать то, что я щас расскажу. В общем :
имеется список
h = [self.vbox, self.vbox_basic]
for i in h: print(h[i])
print(h[i])
h = ['self.vbox', 'self.vbox_basic']
Отредактировано Lestoroer (Апрель 27, 2016 20:25:40)
Офлайн
24
Определи методы __str__ у этих обьектов.
Офлайн
857
Офлайн
5
это я привел так для примера.
print(i)
def hide (self): h = [self.vbox, self.vbox_basic] for i in h: self.grid.removeItem(i)
Отредактировано Lestoroer (Апрель 28, 2016 12:09:24)
Офлайн
568
LestoroerС чего вы это взяли?
у меня получается такое self.grid.removeItem(object at 0x0000000003AEC248)
Офлайн
857
LestoroerНо это неправильный совет. В классе QGridLayout в метод removeItem() (унаследованный от QLayout) подаётся объект класса QLayoutItem. При этом QLayout наследуется от QLayoutItem. Поэтому подавать надо сами объекты, которые были добавлены в QGridLayout через метод addLayout().
Мне посоветовали __Str__
Отредактировано py.user.next (Апрель 28, 2016 12:35:35)
Офлайн
5
py.user.nextИх и добавляю.
FishHookЯ тоже так считаю, однако, не работает у меня в PySide. Код просто берет и вылетает “прекращена работа”. Вы натолкнули меня на мысль и я перевел весь код в -> PyQt, все стало работать. Видимо что-то с PySide.
Офлайн