2010-09-01 1 views
0

Этот код отлично работает и производит checkbuttons в длинном длинном списке.tkinter в питоне. .pack работает, но .grid ничего не производит

def createbutton(self,name): 
    var = IntVar() 
    account = name[0] 
    chk = Checkbutton(self.root, text=account, variable=var) 
    chk.pack(side = BOTTOM) 
    self.states.append((name,var)) 

Проблема заключается в том, что список кнопок настолько долго, что она простирается дальше, то длина моего экрана, так что я хочу, чтобы поместить их в сетку, так что я могу иметь, может быть, 10 checkbuttons в колонке , Просто чтобы проверить возможности, я сделал это:

def createbutton(self,name): 
    var = IntVar() 
    account = name[0] 
    chk = Checkbutton(self.root, text=account, variable=var) 
    chk.grid(column=0) 
    self.states.append((name,var)) 

И ничего не происходит, ни один интерфейс тк не открывается, и программа просто ждет. Пожалуйста помоги!

+1

Хм .. этот код должен работать. Не могли бы вы предоставить весь код? –

+0

Я понял. Если бы в другом месте кода был и .pack, и tkinter не нравится, когда оба они помещаются в один и тот же мастер. Благодаря! – Alex

ответ

1

Возможно ли, что у вас есть другие виджеты, которые находятся в корневом окне, и они помещаются туда с помощью пакета? Если вы попытаетесь использовать пакет и сетку в одном контейнере, ваше приложение может перейти в бесконечный цикл, так как каждый менеджер борется за контроль над контейнером.

+0

Вы абсолютно правы. Я подумал об этом, прежде чем вы отправили сообщение. У меня был пакет .pack в другом коде, который вызывал это. Спасибо!! – Alex

 Смежные вопросы

  • Нет связанных вопросов^_^