当将.pack()
与我的ScrolledText
小部件一起用于tkinter时,将出现一个带有滚动条的文本框。但是,当我将其切换为使用.grid()
时,它不再出现在窗口中。只是不见了。在
我的代码的适用部分如下:
import tkinter as tk
import tkinter.scrolledtext as tkst
import tkinter.font as tkFont
import tkinter.ttk as ttk
class Application(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
# self.grid()
self.createWidgets()
def createWidgets(self):
self.logArea = tkst.ScrolledText(self,
wrap = tk.WORD,
width = 20,
height = 8,
state="disabled",
name="logArea"
)
self.logArea.grid(padx=10, pady=10,row=1, sticky=tk.W)
root = tk.Tk()
app = Application(master=root)
app.mainloop()
我在第1行有一个Treeview小部件,它显示得很好,只是出于某种原因,这个ScrolledText小部件根本不显示,但是在我之前使用just pack()时工作得很好。在
你知道怎么回事吗?在
编辑:我在init中添加了一个self.master = master
,然后在ScrolledText的init中使用了self.master
,而不仅仅是self
。我不知道为什么这个解决了这个问题,如果能知道为什么它能解决它就好了。在
这个修订版,添加了class语句,应用程序框架网格化到根窗口中,文本框没有被禁用。在
相关问题 更多 >
编程相关推荐