python - tkinter notebook python - 单击左事件
问题描述
我想在单击选项卡时运行功能。
例如,我有两个标签
def refresh():
if str(notebook.index(notebook.select())) == "2":
refresh2()
else:
refresh1()
notebook.bind("<<NotebookTabChanged>>", refresh())
不工作。我该如何解决?
解决方案
你总是需要提供函数的引用,而不是调用函数。做refresh()
会调用函数。并且当函数执行时,返回的值将被赋值。在你的情况下,它是None
或没有。
因此,您基本上是在告诉在引发事件tkinter
时什么都不做。"<<NotebookTabChanged>>"
def refresh():
if str(notebook.index(notebook.select())) == "2":
refresh2()
else:
refresh1()
notebook.bind("<<NotebookTabChanged>>", refresh)
推荐阅读
- swift - 即时 UIButton 旋转变换,带有动画比例
- excel - 如何在不同的单元格中使用平均功能?
- c++ - 使用 Boost.Qi 实现递归文法
- c# - 如何设置列表的属性?
- android - Android 从 DCIM 文件夹中获取图像
- javascript - 在对数组进行“双重迭代”的同时对每个项目进行异步操作
- python - 如何在 Keras 中使用三元组损失函数训练人脸识别系统的 nn4.small2 模型?
- swift - 将 WKInterfaceController 类升级到新的 SwiftUI 结构/视图
- mysql - Where 子句未按预期工作:仅指定一个时,我从 2 个不同的 ID 获取数据
- javascript - 画布中的元素消失