Ign*_*res 5 python tkinter python-3.x tkinter-layout
有谁知道在 tkinter 笔记本中选择不同选项卡后如何触发功能?
这就是我要完成的任务。
假设我有两个选项卡,tab1 和 tab2:
if tab1 is selected:
canvas3.unbind_all()
canvas2.bind_all('<MouseWheel>', lambda event: canvas2.yview_scroll(int(-1 * (event.delta / 120)),"units"))
elif tab 2 is selected:
canvas2.unbind_all()
canvas3.bind_all('<MouseWheel>', lambda event: canvas3.yview_scroll(int(-1 * (event.delta / 120)), "units"))
Run Code Online (Sandbox Code Playgroud)
acw*_*668 11
<<NotebookTabChanged>>您可以在笔记本上绑定事件:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
nb = ttk.Notebook(root, width=800, height=600)
nb.pack()
frame1 = ttk.Frame(nb)
frame2 = ttk.Frame(nb)
nb.add(frame1, text='Tab1')
nb.add(frame2, text='Tab2')
def on_tab_change(event):
tab = event.widget.tab('current')['text']
if tab == 'Tab1':
#canvas3.unbind_all()
#canvas2.bind_all('<MouseWheel>', lambda event: canvas2.yview_scroll(int(-1 * (event.delta / 120)),"units"))
elif tab == 'Tab2':
#canvas2.unbind_all()
#canvas3.bind_all('<MouseWheel>', lambda event: canvas3.yview_scroll(int(-1 * (event.delta / 120)), "units"))
nb.bind('<<NotebookTabChanged>>', on_tab_change)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3463 次 |
| 最近记录: |