繁体   English   中英

文本小部件tkinter

[英]Text widget tkinter

我有一个问题。 我有一个文本小部件供用户输入,而不是输入小部件,似乎无法从中获取数据。 例如,对于条目小部件,您使用.get(),但是对于文本小部件您将使用什么?

谢谢你的帮助...

Label(insertscreen, text="Please enter the Recipe ID").grid(row=0, sticky=W)
Label(insertscreen, text="Please enter the Recipe Name").grid(row=1, sticky=W)
Label(insertscreen, text="Please enter the Method of the Recipe").grid(row=2, sticky=W)
Label(insertscreen, text="Please enter the First Ingredient").grid(row=3, sticky=W)
Label(insertscreen, text="Please enter the Second Ingredient").grid(row=4, sticky=W)
Label(insertscreen, text="Please enter the Third Ingredient").grid(row=5, sticky=W)
Label(insertscreen, text="Please enter the Fourth Ingredient").grid(row=6, sticky=W)
Label(insertscreen, text="Please enter the Fifth Ingredient").grid(row=7, sticky=W)
Label(insertscreen, text="Please enter the Cooking Time, in minutes").grid(row=8, sticky=W)

Enter1= Entry(insertscreen)
Enter1.grid(row=0, column=1)
Enter2= Entry(insertscreen)
Enter2.grid(row=1, column=1)
Enter3= Text(insertscreen, width = 50, height = 10)
Enter3.grid(row=2, column=1)
Enter4= Entry(insertscreen)
Enter4.grid(row=3, column=1)
Enter5= Entry(insertscreen)
Enter5.grid(row=4, column=1)
Enter6= Entry(insertscreen)
Enter6.grid(row=5, column=1)
Enter7= Entry(insertscreen)
Enter7.grid(row=6, column=1)
Enter8= Entry(insertscreen)
Enter8.grid(row=7, column=1)
Enter9= Entry(insertscreen)
Enter9.grid(row=8, column=1)

#Entering the new recipe into the database
def submit_recipe():

global Enter1, Enter2, Enter3, Enter4, Enter5, Enter6, Enter7, Enter8, Enter9, new_db

ID = Enter1.get()
Name = Enter2.get()
Method = Enter3.get()
Ing1 = Enter4.get()
Ing2 = Enter5.get()
Ing3 = Enter6.get()
Ing4 = Enter7.get()
Ing5 = Enter8.get()
TimeofRec = Enter9.get()

文本小部件使​​用get,但是当小部件管理多行文本时,它具有用于指定内容区域的选择器。 请参阅tkdocs网站上有关此小部件使用的教程,以及有关完整详细信息的手册页 获取文本第一行的示例:

firstline = textWidget.get("1.0", "1.0 lineend")

从“文本”小部件检索文本的两种最常见的方法如下:

1)抓取小部件中的所有文本:

    all_text = TextWidget.get('1.0', Tkinter.END)

2)抓取当前选中的文本:

    ranges = TextWidget.tag_ranges(Tkinter.SEL)
    if ranges:
        selected_text = TextWidget.get(*ranges)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM