簡體   English   中英

如何讓插入到tkinter條目小部件中的圖形覆蓋tkinter樹視圖中的默認值

[英]How to let figure inserted in tkinter entry widget overwrite default in tkinter treeview

我下面有一些代碼可將在entry小部件中entry圖形插入到從tree1中選擇的名為tree2 tkinter treeview ,以覆蓋默認圖形。 我能切插入month ,但是當我插入figure的下方,選擇treeview的內容,並在column1column2 如果未輸入任何數字,則默認值為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM