【发布时间】:2016-03-15 21:24:24
【问题描述】:
将.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 小部件根本不显示,但是当我之前只使用 pack() 时工作正常。
知道有什么问题吗?
编辑:我在 init 中添加了一个self.master = master,然后在我的 ScrolledText 的初始化中使用了self.master 而不仅仅是self。我不确定为什么这解决了这个问题,很高兴知道为什么会解决这个问题。
【问题讨论】:
-
请提供完整的 MCVE (stackoverflow.com/help/mcve)
-
@BryanOakley 完成。
-
该代码不会运行。