亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 tkinter 中查看樹視圖的部分區域和水平滾動?

如何在 tkinter 中查看樹視圖的部分區域和水平滾動?

萬千封印 2023-12-26 16:01:30
我有一個由 tk.treeview 創建的表,例如,有 10 列。目標是構建一個帶有水平滾動條的樹形視圖小部件,小部件的視圖寬度設置為大約 4 列,并使用水平滾動條查看其他列。使用 tk.Frame 作為父窗口小部件并使用滾動條,垂直滾動將隱藏標題,因此不要使用它。平臺:WIN 10 Python:3.8.6 tkinter:8.6import tkinter as tkfrom tkinter import ttkroot = tk.Tk()# root.columnconfigure(0, weight=1)# root.rowconfigure(0, weight=1)columns = [f'Column {i}' for i in range(10)]x_scrollbar = tk.Scrollbar(root, orient=tk.HORIZONTAL)x_scrollbar.grid(row=1, column=0, sticky=tk.E+tk.W)y_scrollbar = tk.Scrollbar(root, orient=tk.VERTICAL)y_scrollbar.grid(row=0, column=1, sticky=tk.N+tk.S)tree = ttk.Treeview(root, columns=columns, height=10, show="headings",    xscrollcommand=x_scrollbar.set, yscrollcommand=y_scrollbar.set)tree.grid(row=0, column=0, sticky=tk.N+tk.S+tk.E+tk.W)for col in tree['columns']:        tree.heading(col, text=f"{col}", anchor=tk.CENTER)        tree.column(col, anchor=tk.CENTER, width=100)for i in range(100):    tree.insert('', 'end', values=[i*10+j for j in range(len(columns))])x_scrollbar['command'] = tree.xviewy_scrollbar['command'] = tree.yviewroot.mainloop()問題是如何將視圖寬度設置為大約 4 列并使用水平滾動條工作?像這樣 ?。]有窗口調整大小)
查看完整描述

1 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

有一個棘手的方法可以做到這一點:

  • 最初將列寬設置為較小的尺寸,對于您的情況,它是 40(即 400 / 10)

  • 使用強制更新樹視圖tree.update()

  • 將列寬設置為所需的大小,即 100

for col in tree['columns']:

    tree.heading(col, text=f"{col}", anchor=tk.CENTER)

    tree.column(col, anchor=tk.CENTER, width=40) # initially smaller size

tree.update()

for col in tree['columns']:

    tree.column(col, width=100) # restore to desired size


查看完整回答
反對 回復 2023-12-26
  • 1 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號