Следующий код в отдельном файле работает нормально. Он создает текстовую область и добавляет к ней полосу прокрутки.

root = Tkinter.Tk()
text=Text(root,height=10,width=50,background='pink')
scroll=Scrollbar(root)
text.configure(yscrollcommand=scroll.set)
scroll.config(command=text.yview)
text.pack(side=LEFT)
scroll.pack(side=RIGHT,fill=Y)

Но точно такой же код не работает, когда он был объединен с другим кодом ( main.py ).

//================ other code
root = Tkinter.Tk()
root.geometry("800x600+100+0") # width, height, x ,y
button_1 =  Button(root,text="iphone file")
button_1.pack()
button_1.grid(row=0, column=0)
button_1.configure(command=openFile)

//------------------ following is the same code
text=Text(root,height=10,width=50,background='pink')
scroll=Scrollbar(root)
text.configure(yscrollcommand=scroll.set)
scroll.config(command=text.yview)
text.pack(side=LEFT)
scroll.pack(side=RIGHT,fill=Y)

И когда я запускаю файл main.py из командной строки, он просто зависает. что здесь не так?

1
navyad 29 Мар 2013 в 18:40

1 ответ

Лучший ответ

Вы пытаетесь использовать как grid, так и pack для одного и того же содержащего виджет. Тебе этого не сделать. Вам нужно либо использовать grid для текста и полос прокрутки, либо использовать pack для кнопок.

0
Bryan Oakley 30 Мар 2013 в 16:19