[英]How to let figure inserted in tkinter entry widget overwrite default in tkinter treeview
我下面有一些代碼可將在entry
小部件中entry
圖形插入到從tree1
中選擇的名為tree2
tkinter treeview
,以覆蓋默認圖形。 我能切插入month
,但是當我插入figure
的下方,選擇treeview
的內容,並在column1
不column2
。 如果未輸入任何數字,則默認值為2018
感謝您提出的實現建議
from tkinter import ttk
import tkinter as tk
blow = [("january", "2013"),("february", "2014"),("march", "2015"),("april",
"2016"),("may", "2017")]
def append_select():
cur_id = tree.focus()
data = 2018
data = e1_sub.get() # if none is provided the default should 2018
if cur_id:
tree2.insert("", tk.END, values=data)
#tree2.insert("", tk.END, values=tree2.column("#2")[data])
tree2.insert("", tk.END, values=tree.item(cur_id)['values'][:1])
root = tk.Tk()
root.geometry("500x500")
tree = ttk.Treeview(columns=("columns1", "columns"), show="headings",
selectmode="browse")
tree.heading("#1", text="Month")
tree.heading("#2", text="Year")
for n in blow:
tree.insert("", tk.END, values=(n))
tree.pack()
e1_sub = tk.StringVar()
e1 = tk.Entry(root, textvariable=e1_sub)
e1.pack()
b1 = tk.Button(text="append", command=append_select)
b1.pack()
tree2 = ttk.Treeview(columns=("Month", "Year"), show="headings")
tree2.heading("#1", text="First name")
tree2.heading("#2", text="Surname")
tree2.pack()
root.mainloop()
我想您想做的是:
def append_select():
cur_id = tree.focus()
data = e1_sub.get() # if none is provided the default should 2018
if not data:
data = 2018
if cur_id:
month = tree.item(cur_id)['values'][0]
tree2.insert("", tk.END, values=(month, data))
基本上,它首先檢查條目是否為空,如果為空,則返回2018,然后簡單地將其寫入。 可能結構更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.