我似乎无法将 ScrolledText Widget 的内容打印到控制台。我已在 ScrolledText 小部件上运行帮助命令:print(help(scrolledtext.ScrolledText))这输出表明 .get 方法(用于获取 tk.Text Widgets 的内容)也存在于该小部件中。 | get(self, index1, index2=None) | Return the text from INDEX1 to INDEX2 (not included).那么为什么会出现这样的行:print(myScrollTextWidget.get("1.0","end"))结果出现此错误:AttributeError: 'NoneType' object has no attribute 'get'当按钮被按下时。这是我正在使用的可运行代码片段:import tkinter as tkfrom tkinter import scrolledtext#Declare Rootroot = tk.Tk()root.title("Scrolltext Widget")tk.Label(root,text="My Scrolled Text Widget",font=("Times New Roman",25))\ .grid(row=0,column=1)#Define ScrollTextWidget#wrap keyword used to wrap around textmyScrollTextWidget = scrolledtext.ScrolledText(root,wrap=tk.WORD,width=50,height=20,font=("Times New Roman",15))\ .grid(row=1,column=1)print(help(scrolledtext.ScrolledText))def printToConsole(): print(myScrollTextWidget.get("1.0","end"))#ButtonsmyButton = tk.Button(root,text="Print to console!",command=printToConsole).grid(row=2,column=1)root.mainloop()
1 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
当您.pack()
或.grid()
在同一行中时,您不会向变量返回任何内容,因此该变量是None
相反,.pack()
或者.grid()
在另一行中,如下所示:
myScrollTextWidget = scrolledtext.ScrolledText(root,wrap=tk.WORD,width=50,height=20,font=("Times New Roman",15)) myScrollTextWidget.grid(row=1,column=1)
一般来说,在同一行中进行网格化或打包是相当错误的。如果您想出于配置或其他目的访问对象,则应该避免使用它。
添加回答
举报
0/150
提交
取消