Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一选项卡中添加多个帧tkinter python_Python_User Interface_Tkinter - Fatal编程技术网

在同一选项卡中添加多个帧tkinter python

在同一选项卡中添加多个帧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,

这里是完整的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, 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)