Python ttkwidget表如何绑定事件时,列的宽度改变



寻找在更改列的宽度时获取事件的方法如。我想有一个事件,当列宽度(A或B)由用户交互改变。我的示例仅在更改整个表宽度时绑定

from ttkwidgets import Table
import tkinter as tk

def changed(event):
print(event)

root = tk.Tk()
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
columns = ["A", "B"]
table = Table(root, columns=columns)
table.bind('<Configure>',  changed)
for col in columns:
table.heading(col, text=col)
table.column(col, width=100, stretch=False)

for i in range(3):
table.insert('', 'end', iid=i,
values=(i, i) + tuple(i + 10 * j for j in range(2, 7)))
# add scrollbars
sx = tk.Scrollbar(root, orient='horizontal', command=table.xview)
sy = tk.Scrollbar(root, orient='vertical', command=table.yview)
table.configure(yscrollcommand=sy.set, xscrollcommand=sx.set)
table.grid(sticky='nesw')
sx.grid(row=1, column=0, sticky='ew')
sy.grid(row=0, column=1, sticky='ns')
root.update_idletasks()
frame = tk.Frame(root)
frame.grid()
root.geometry('400x200')
root.mainloop()

谢谢你的帮助

使用link找到解决方案如何在python中绑定一个动作到tkinter树视图的标题?

所以我做了:

table.bind("<ButtonRelease-1>", on_button_release_1)

和实现:

def on_button_release_1(event):
region = table.identify("region", event.x, event.y)
if region == "separator":
print(event)

相关内容

  • 没有找到相关文章

最新更新