我有一个只有文本区域的文本编辑器GUI。我添加了一个滚动条,它将GUI重新调整到极小,这是脚本的顶部。
在添加滚动条之前请记住,GUI有点大,这就是我想要的。
class Application(Frame):
def __init__(self, parent):
Frame.__init__(self,parent)
self.pack(side=LEFT,fill=BOTH,expand=YES)
self.saved = None
self.fontcolor = "Black"
self.backgroundcolor = "White"
self.fontsize = IntVar()
self.check = None
self.create_widgets()
def create_widgets(self):
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=self.newfile)
filemenu.add_command(label="Open", command=self.openfile)
filemenu.add_command(label="Save", command=self.savefile)
filemenu.add_command(label="Save As", command=self.saveas_file)
menubar.add_cascade(label="File", menu=filemenu)
formatmenu = Menu(menubar, tearoff=0)
formatmenu.add_command(label="Font Size", command=self.fsc)
formatmenu.add_command(label="Font Color", command=self.fcc)
formatmenu.add_command(label="Background Color", command=self.bcc)
menubar.add_cascade(label="Format", menu=formatmenu)
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="View help", command=self.helpfile)
menubar.add_cascade(label="help", menu=helpmenu)
root.config(menu=menubar)
self.Cont = Text(self,wrap=WORD)
self.Cont.pack(side=LEFT,fill=BOTH,expand=YES)
self.Scroll = Scrollbar(self.Cont)
self.Scroll.pack(side=RIGHT,fill=Y)
self.Cont.configure(yscrollcommand=self.Scroll.set)
root.protocol("WM_DELETE_WINDOW", self.verify)
答案 0 :(得分:1)
Scrollbar
父母错了。它不应该是Text
而是Frame
。
self.Scroll = Scrollbar(self)
顺便说一句:您可以在self.parent = parent
中设置__init__
,然后您可以使用self.parent
代替root
。这种方式不依赖于外部变量。