![](/img/trans.png)
[英]Extracting rows within Python Tkinter-Treeview into a Pandas data frame
[英]Python Tkinter placing frame and treeview within a notebook
我正在研究一個非常簡單的 TKinter 布局。 它由一個帶有兩個選項卡的筆記本組成。 在第一個選項卡中,我有 1 個 Frames,而在其中還有 3 個。 這工作正常,可以在下面看到:
但是,當我嘗試將 Treeview 添加到最左側的紅色框(混淆地稱為 top_frame)時。 它只是坐在下面。
像下面這樣:
我想我有正確的父子關系,所以看不出它為什么不按預期坐着。
歡迎任何幫助。 我的代碼在下面,我需要將 treeview 放入紅色框中的結果。 我花了很長時間試圖解決這個問題,開始在筆記本中使用 grid() 但即使切換到 pack() 仍然沒有運氣
from tkinter import *
from tkinter import ttk
root = Tk()
tabControl = ttk.Notebook(root)
tab1 = ttk.Frame(tabControl)
tab2 = ttk.Frame(tabControl)
tabControl.add(tab1, text ='Tab 1')
tabControl.add(tab2, text ='Tab 2')
tabControl.pack()
top_frame1 = Frame(tab1, bg='red', width = 450, height=400, relief=SUNKEN).pack(side=LEFT, fill = BOTH)
Mid_frame = Frame(tab1, bg='Orange', width = 450, height=100, relief=SUNKEN).pack(side=RIGHT, fill = BOTH)
bottom_frame = Frame(tab1, bg='green', width = 450, height=100, relief=SUNKEN).pack(side=RIGHT, fill = BOTH)
treeview_menu = ttk.Treeview(top_frame1)
treeview_menu.pack()
treeview_menu.insert('','0','m1', text = 'department 1')
treeview_menu.insert('','1','m2', text = 'department 2')
treeview_menu.insert('','2','m3', text = 'department 3')
treeview_menu.insert('','3','m4', text = 'department 4')
treeview_menu.insert('','4','m5', text = 'department 5')
treeview_menu.insert('m1','end','cs1', text = 'Staff Mbr1')
treeview_menu.insert('m1','end','cs2', text = 'Staff Mbr2')
treeview_menu.insert('m2','end','bc1', text = 'Staff Mbr1')
treeview_menu.insert('m2','end','bc2', text = 'Staff Mbr2')
treeview_menu.insert('m3','end','av1', text = 'Staff Mbr1')
treeview_menu.insert('m3','end','av2', text = 'Staff Mbr2')
treeview_menu.insert('m4','end','mc1', text = 'Staff Mbr1')
treeview_menu.insert('m4','end','mc2', text = 'Staff Mbr2')
treeview_menu.insert('m5','end','ss1', text = 'Staff Mbr1')
treeview_menu.insert('m5','end','ss2', text = 'Staff Mbr2')
因為我剛剛遇到這個問題,但仍然沒有一個可以接受的答案。
top_frame1 = Frame(tab1, bg='red', width = 450, height=400, relief=SUNKEN).pack(side=LEFT, fill = BOTH)
Mid_frame = Frame(tab1, bg='Orange', width = 450, height=100, relief=SUNKEN).pack(side=RIGHT, fill = BOTH)
bottom_frame = Frame(tab1, bg='green', width = 450, height=100, relief=SUNKEN).pack(side=RIGHT, fill = BOTH)
.pack 不返回 object。 由於這些都在一行上,因此從未實際設置變量。 因此,bottom_frame、mid_frame 和 top_frame 都返回 None。
必須從 Frame() function 設置變量,然后調用 pack() function。
top_frame1 = Frame(tab1, bg='red', width = 450, height=400, relief=SUNKEN)
top_frame1.pack(side=LEFT, fill = BOTH)
Mid_frame = Frame(tab1, bg='Orange', width = 450, height=100, relief=SUNKEN)
Mid_frame.pack(side=RIGHT, fill = BOTH)
bottom_frame = Frame(tab1, bg='green', width = 450, height=100, relief=SUNKEN)
bottom_frame.pack(side=RIGHT, fill = BOTH)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.