在同一选项卡中添加多个帧tkinter python
这里是完整的Tkinter初学者。我正在尝试创建一个GUI,其中一个选项卡中有多个帧,我可以使用单选按钮更改显示的帧(单选按钮在选项卡中)。这是我当前的代码,它正确地创建了选项卡和单选按钮在同一选项卡中添加多个帧tkinter python,python,user-interface,tkinter,Python,User Interface,Tkinter,这里是完整的Tkinter初学者。我正在尝试创建一个GUI,其中一个选项卡中有多个帧,我可以使用单选按钮更改显示的帧(单选按钮在选项卡中)。这是我当前的代码,它正确地创建了选项卡和单选按钮 from tkinter import * from tkinter import ttk root = Tk() root.title("JPM") #GUI tabs nb = ttk.Notebook(root) nb.grid(row=1, column=0, sticky=W, padx=10,
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("JPM")
#GUI tabs
nb = ttk.Notebook(root)
nb.grid(row=1, column=0, sticky=W, padx=10, pady=10)
#GUI tab1 (open orders)
tab1 = ttk.Frame(nb)
nb.add(tab1, text="Open orders")
#GUI tab2 (closed orders)
tab2 = ttk.Frame(nb)
nb.add(tab2, text="Closed orders")
Label(tab1, text="Order#", font='Helvetica 10 bold').grid(row=0, column=0, padx=10, pady=5, sticky=W)
Label(tab1, text="Order Date", font='Helvetica 10 bold').grid(row=0, column=1, padx=10, pady=5, sticky=W)
Label(tab1, text="Items", font='Helvetica 10 bold').grid(row=0, column=2, padx=10, pady=5, sticky=W)
Label(tab1, text="Status", font='Helvetica 10 bold').grid(row=0, column=3, padx=10, pady=5, sticky=W)
Label(tab2, text="Time Elapsed", font='Helvetica 10 bold').grid(row=0, column=0, padx=10, pady=5, sticky=W)
Label(tab2, text="Time Left", font='Helvetica 10 bold').grid(row=0, column=1, padx=10, pady=5, sticky=W)
Label(tab2, text="Unit Price", font='Helvetica 10 bold').grid(row=0, column=2, padx=10, pady=5, sticky=W)
Label(tab2, text="Total price", font='Helvetica 10 bold').grid(row=0, column=3, padx=10, pady=5, sticky=W)
u = StringVar()
u.set("all fulfilled") # Default value of the radio button
Radiobutton(tab1, text="In Collection", variable=u, value="in collection", command=None).grid(
row=0, column=4, padx=0, pady=5, sticky=W)
Radiobutton(tab1, text="In Production", variable=u, value="in production", command=None).grid(
row=0, column=5, padx=10, pady=5, sticky=W)
Radiobutton(tab1, text="In Packaging", variable=u, value="in packaging", command=None).grid(row=0,
column=6, padx=10, pady=5, sticky=W)
Radiobutton(tab1, text="All", variable=u, value="all fulfilled", command=None).grid(row=0, column=7, padx=10, pady=5, sticky=W)
root.mainloop()
我尝试创建一个以tab1为父对象的新框架,如下所示:
new_frame = ttk.Frame(tab1)
但当我在新的_框架中添加标签和按钮时,tab1中没有显示任何内容。我的想法是为每个radiobutton创建不同的帧,并将radiobutton命令更改为:
new_frame.tkraise()
当选择单选按钮时,将正确的帧提升到顶部
任何帮助都将不胜感激 你需要
网格
你的新框架
。我刚刚试过,现在我的小部件显示出来了,但不在tab1内。我想你没有正确地获取行和列。你是如何使用grid
框架的?@Makaveli313:“创建一个GUI,在其中我在一个选项卡中有多个框架”:这就是笔记本
的用途。重新考虑您的方法,改用笔记本
中的笔记本
。@HenryYik这就是我如何对我的框架进行网格化:新建框架=框架(tab1)。网格(行=0,列=0,padx=0,pady=0,粘滞=W)