Python 如何在同一帧中使用按钮显示命令addBox
我正在尝试创建一个包含Python 如何在同一帧中使用按钮显示命令addBox,python,tkinter,Python,Tkinter,我正在尝试创建一个包含选项卡的笔记本。这些选项卡之一包含一个按钮,当单击该按钮时,将使用此行代码创建一个EditText btn1 = ttk.Button(page1, text = "Add Site Code", command=addBox) 问题是,当我单击此按钮时,它会在帧外创建EditText,如下所示 我需要在框架内的按钮下方显示EditText 然而,这是我的代码 from tkinter import * import tkinter.ttk as ttk import
选项卡的笔记本
。这些选项卡之一
包含一个按钮
,当单击该按钮时,将使用此行代码创建一个EditText
btn1 = ttk.Button(page1, text = "Add Site Code", command=addBox)
问题是,当我单击此按钮时,它会在帧外创建EditText
,如下所示
我需要在框架内的按钮下方显示EditText
然而,这是我的代码
from tkinter import *
import tkinter.ttk as ttk
import background as background
#------------------------------------
def addBox():
print ("ADD")
ent = Entry(root)
ent.pack()
all_entries.append( ent )
#------------------------------------
all_entries = []
root = Tk()
root.title('Notebook Demo')
# set the configuration of GUI window
w = 600
h = 400
sw = root.winfo_screenwidth()
sh = root.winfo_screenheight()
x = (sw - w) / 2
y = (sh - h) / 2
root.geometry('%dx%d+%d+%d' % (w, h, x, y))
root.config(background = '#A9A9A9')
rows = 0
while rows < 50:
root.rowconfigure(rows, weight=1)
root.columnconfigure(rows, weight=1)
rows += 1
nb = ttk.Notebook(root)
#nb.grid(row=1, column=0, columnspan=50, rowspan=49, sticky='NESW')
page1 = ttk.Frame(nb)
nb.add(page1, text='RDT & On-Air')
nb.pack(expand = 1, fill = "both")
page2 = ttk.Frame(nb)
nb.add(page2, text='Existing Sites')
nb.pack(expand = 1, fill = "both")
page3 = ttk.Frame(nb)
nb.add(page3, text='All Data')
nb.pack(expand = 1, fill = "both")
btn1 = ttk.Button(page1, text = "Add Site Code", command=addBox)
btn1.pack()
root.mainloop()
从tkinter导入*
将tkinter.ttk导入为ttk
导入背景作为背景
#------------------------------------
def addBox():
打印(“添加”)
ent=条目(根)
ent.pack()
所有_条目。追加(ent)
#------------------------------------
所有_条目=[]
root=Tk()
root.title('笔记本演示')
#设置GUI窗口的配置
w=600
h=400
sw=root.winfo_屏幕宽度()
sh=root.winfo_屏幕高度()
x=(西南-西南)/2
y=(sh-h)/2
几何体(“%dx%d+%d+%d%”(w,h,x,y))
root.config(后台='#A9A9')
行数=0
当行数小于50时:
rowconfigure(行,权重=1)
root.columnconfigure(行,权重=1)
行数+=1
nb=ttk.笔记本(根)
#注意:网格(行=1,列=0,列span=50,行span=49,粘性=NESW')
第1页=ttk.帧(nb)
注意:添加(第1页,text='RDT&On Air')
注意:包装(扩展=1,填充=“两个”)
第2页=ttk.帧(nb)
注意:添加(第2页,text='Existing Sites')
注意:包装(扩展=1,填充=“两个”)
第3页=ttk.帧(nb)
注意:添加(第3页,text='All Data')
注意:包装(扩展=1,填充=“两个”)
btn1=ttk.按钮(第1页,text=“添加站点代码”,命令=addBox)
btn1.pack()
root.mainloop()
问题在于,您在第9行添加了新的条目
,该条目具有根
作为父项:
ent=条目(根)
您应该使用您希望条目所在的实际帧作为父窗口小部件。将root
替换为page1
def addBox():
打印(“添加”)
ent=条目(第1页)
ent.pack()
所有_条目。追加(ent)
您将root
作为条目的主控项,以便将它们打包在笔记本下面。如果要将它们放入框架中,请在创建条目时将框架作为主框架。