我有这段代码可以在我的代码中放置一个文本小部件,但是当我运行整个代码时,它只会在新窗口中打开文本小部件,而不是将其添加到现有的 gui 中。 我是新手,所以我需要添加命令或其他内容来指定它进入现有窗口吗?
import tkinter as tk
import time
import random
from tkinter import *
root = tk.Tk()
root.geometry("1600x8000")
root.title("Cafe au Lait")
tops = tk.Frame(root, width=1600, relief="sunken")
tops.pack(side="top")
f1 = tk.Frame(root, width=800, height=700, relief="sunken")
f1.pack(side="left")
roots = Tk()
t = Text(roots)
t.grid(row=6, column=6)
roots.grid_rowconfigure(6, weight=1)
roots.grid_columnconfigure(6, weight=1)
tk.Label(f1, font=('arial', 16, 'bold'),text="Takeaway",bd=16,anchor="w").grid(row=2, column=2)
txt_takeaway=tk.Entry(f1, font=('arial',16,'bold'),textvariable=takeaway,bd=10,insertwidth=4,bg="powder blue",justify='right')
txt_takeaway.grid(row=2,column=3)
root.bind("<Return>", ref)
root.mainloop()
我已经在现有的 gui 中添加了 root = tk 部分,但它创建了一个新窗口。
最佳答案
问题是您正在使用以下语句显式创建一个新窗口:
roots = Tk()
如果要将文本小部件放在第一个根窗口中,请删除该行,然后使文本小部件成为第一个根窗口的子窗口:
t = Text(root)
关于Python 文本小部件仅在窗口中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51908825/