Добавление нескольких кадров в одну вкладку tkinter python - PullRequest
0 голосов
/ 10 октября 2019

Полный начинающий Tkinter здесь. Я пытаюсь создать графический интерфейс, где у меня есть несколько кадров на вкладке, и я могу изменить, какой кадр отображается с помощью переключателей (переключатели находятся внутри вкладки). Это мой текущий код, который правильно создает вкладки и переключатели.

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) 

, но когда яДобавьте метки и кнопки внутри new_frame, в tab1 ничего не отображается. Моя идея состояла в том, чтобы создать разные рамки для каждой радиокнопки и изменить команду радиокнопки на:

new_frame.tkraise()

, чтобы поднять правильный кадр на вершину при выборе радиокнопки.

Любая помощьбудет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...