zoukankan      html  css  js  c++  java
  • python tkinter Treeview

    https://pythonguides.com/python-tkinter-treeview/#Python_Tkinter_Treeview_Table

      1 import tkinter as tk
      2 from tkinter import ttk
      3 from tkinter import *
      4 
      5 ws = tk.Tk()
      6 ws.title('PythonGuides')
      7 ws.geometry('1000x800')
      8 # ws['bg']='#fb0'
      9 frame1 = ttk.Frame(ws, borderwidth=5, relief="groove", width=100, height=100)
     10 frame1.grid(row=0, column=0)
     11 frame1.propagate(0)
     12 ttk.Label(frame1, text="Explaining Python Tkinter with an Example", background="green").grid(row=0, column=0)
     13 
     14 tv = ttk.Treeview(frame1)
     15 tv['columns'] = ('Rank', 'Name', 'Badge')
     16 tv.column('#0', width=0, stretch=tk.NO)
     17 tv.column('Rank', anchor=tk.CENTER, width=80)
     18 tv.column('Name', anchor=tk.CENTER, width=80)
     19 tv.column('Badge', anchor=tk.CENTER, width=80)
     20 
     21 tv.heading('#0', text='', anchor=tk.CENTER)
     22 tv.heading('Rank', text='Id', anchor=tk.CENTER)
     23 tv.heading('Name', text='rank', anchor=tk.CENTER)
     24 tv.heading('Badge', text='Badge', anchor=tk.CENTER)
     25 
     26 tv.insert(parent='', index=0, iid=0, text='', values=('1', 'Vineet', 'Alpha'))
     27 tv.insert(parent='', index=1, iid=1, text='', values=('2', 'Anil', 'Bravo'))
     28 tv.insert(parent='', index=2, iid=2, text='', values=('3', 'Vinod', 'Charlie'))
     29 tv.insert(parent='', index=3, iid=3, text='', values=('4', 'Vimal', 'Delta'))
     30 tv.insert(parent='', index=4, iid=4, text='', values=('5', 'Manjeet', 'Echo'))
     31 tv.grid(row=1, column=0, sticky="W")
     32 
     33 
     34 def update_item():
     35     selected = tv1.focus()
     36     print(f'selected={selected}')  # selected=3
     37     temp = tv1.item(selected, 'values')
     38     print(f'temp={temp}')  # temp=('Shanti', 'e14', '22000.0')
     39     sal_up = float(temp[3]) + float(temp[3]) * 0.05
     40     tv1.item(selected, values=(temp[0], temp[1], temp[2], sal_up))
     41 
     42 
     43 def show_selected():
     44     print(tv1.selection())
     45 
     46 
     47 def selectmode_none():
     48     tv1['selectmode'] = "none"
     49     print("selectmode=none  用户将不会在 Treeview 上看到任何标记,点击数据无显示标记")
     50 
     51 
     52 def selectmode_browse():
     53     tv1['selectmode'] = "browse"
     54     print("selectmode=browse  用户将能够在一次选择单个项目")
     55 
     56 
     57 
     58 def selectmode_extended():
     59     tv1['selectmode'] = "extended"
     60     print("selectmode=extended 用户就可以同时选择多个项目(按 shift 键可选择多个项目)")
     61 
     62 # 表格数据
     63 datas = [(0, "vineet", "e11", 1000000.00)
     64     , (1, "anil", "e12", 120000.00)
     65     , (2, "ankit", "e13", 41000.00)
     66     , (3, "Shanti", "e14", 22000.00)
     67     , (4, "Shanti", "e14", 22000.00)
     68     , (5, "Shanti", "e14", 22000.00)
     69     , (6, "Shanti", "e14", 22000.00)
     70     , (7, "Shanti", "e14", 22000.00)
     71     , (8, "Shanti", "e14", 22000.00)
     72     , (9, "Shanti", "e14", 22000.00)
     73     , (10, "Shanti", "e14", 22000.00)
     74     , (11, "Shanti", "e14", 22000.00)
     75          ]
     76 
     77 frame2 = ttk.Frame(ws, borderwidth=5, relief="groove", width=300, height=100)
     78 frame2.grid(row=0, column=1)
     79 frame2.propagate(0)
     80 
     81 sl1 = Scrollbar(frame2)
     82 
     83 conten = "How to change Value in Python Tkinter Treeview ,\n Python Tkinter Treeview Scrollbars"
     84 ttk.Label(frame2, text=conten, background="red").grid(row=0, column=0,columnspan=4)
     85 columns = ["id", "name", "eid", "Slary"]
     86 tv1 = ttk.Treeview(frame2
     87                    , show='headings'
     88                    , height=5
     89                    , columns=columns
     90                    )
     91 tv1.grid(row=1, column=0,columnspan=4)
     92 headText = ("id", "name", "eid", "Slary")
     93 for idx in range(len(columns)):
     94     tv1.column(columns[idx], width=70, minwidth=70, anchor=tk.CENTER)
     95     tv1.heading(idx, text=headText[idx])
     96 
     97 for i in range(len(datas)):
     98     tv1.insert(parent='', index=i, iid=i, values=datas[i])
     99 ttk.Button(frame2, text='Increment Salary', command=update_item).grid(row=2, column=1,columnspan=1)
    100 # 创建滚动条
    101 scroll = tk.Scrollbar(frame2, orient="vertical", command=tv1.yview)
    102 scroll['command'] = tv1.yview
    103 tv1.config(yscrollcommand=scroll.set)  # 将滚动条填充
    104 scroll.grid(row=1, column=5, sticky=S + W + E + N)
    105 ttk.Button(frame2, text='Show Selected ', command=show_selected).grid(row=3, column=1,columnspan=1)
    106 
    107 ttk.Button(frame2, text='Browse', command=selectmode_browse).grid(row=4, column=0)
    108 ttk.Button(frame2, text='None', command=selectmode_none).grid(row=4, column=1)
    109 ttk.Button(frame2, text='Extended', command=selectmode_extended).grid(row=4, column=2)
    110 
    111 
    112 ws.mainloop()
    View Code

  • 相关阅读:
    86. Partition List
    328. Odd Even Linked List
    19. Remove Nth Node From End of List(移除倒数第N的结点, 快慢指针)
    24. Swap Nodes in Pairs
    2. Add Two Numbers(2个链表相加)
    92. Reverse Linked List II(链表部分反转)
    109. Convert Sorted List to Binary Search Tree
    138. Copy List with Random Pointer
    为Unity的新版ugui的Prefab生成预览图
    ArcEngine生成矩形缓冲区
  • 原文地址:https://www.cnblogs.com/linbo3168/p/15524826.html
Copyright © 2011-2022 走看看