【问题标题】:Changing row height for different treeviews tkitner更改不同树视图 tkinter 的行高
【发布时间】:2018-07-04 08:53:29
【问题描述】:

我有 2 个树视图,我想将第一个树视图的行高设置为 45。我使用 style 但是当我更改第一个树视图的行高时,它会自动更改第二个树视图的行高。

我做错了什么?

from tkinter import *
from tkinter import ttk

myApp = Tk()

#first tree with row height of 45

s = ttk.Style()
s.configure('Treeview', rowheight=45)

NewTree= ttk.Treeview(myApp, height=4, style='Treeview')
NewTree['show'] = 'headings'

NewTree["columns"]=("1","2")

NewTree.column("1", width=50)
NewTree.column("2", width=50)

NewTree.heading("1", text="Col A")
NewTree.heading("2", text="Col B")

item = NewTree.insert("", "end", values=("value 1","value 2"))

NewTree.grid(row=0,column=0,padx=5)

#second tree with defult row height (it automatically changed to 45)
#How to set different row heights to diferent treeviews?

SecondTree= ttk.Treeview(myApp, height=4)
SecondTree['show'] = 'headings'

SecondTree["columns"]=("1","2")

SecondTree.column("1", width=50)
SecondTree.column("2", width=50)

SecondTree.heading("1", text="Col A")
SecondTree.heading("2", text="Col B")

item = SecondTree.insert("", "end", values=("value 1","value 2"))

SecondTree.grid(row=0,column=1,padx=5)

myApp.mainloop()

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    Treeview 样式是用于所有 Treeview 小部件的默认样式。如果你改变它,你就会改变所有的树视图。如果您只想更改一个 Treeview,请根据默认的 Treeview 样式创建一个新样式并更改它 (reference):

    s.configure('MyStyle.Treeview', rowheight=45)
    
    NewTree= ttk.Treeview(myApp, height=4, style='MyStyle.Treeview') 
    

    【讨论】:

      猜你喜欢
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-13
      • 1970-01-01
      • 2018-12-10
      • 2017-07-07
      • 1970-01-01
      相关资源
      最近更新 更多