Python / Tkinter:构建一个工具栏,提供编辑剪切,复制和粘贴命令

时间:2010-11-05 23:48:16

标签: python tkinter clipboard toolbar

我正在寻找有关如何使用Tkinter框架实现提供编辑剪切,复制和粘贴命令的工具栏的建议。我理解如何构建工具栏并绑定工具栏命令,但我对工具栏按钮绑定命令如何知道应用剪切,复制或粘贴操作的小部件感到困惑,因为具有编辑活动的窗口小部件将失去焦点单击工具栏按钮。我的第一个想法是让每个具有潜在编辑活动的窗口小部件在窗口小部件获得焦点时设置全局变量,并使其他窗口小部件(没有编辑活动,例如按钮,滑块,复选框/放射线框等)清除此全局变量。但这听起来很复杂,除非我构建一个继承此行为的小部件框架。

有没有更简单的方法可以解决这个问题,还是我走在正确的轨道上?

2 个答案:

答案 0 :(得分:2)

您不必维护大型框架,您可以在<FocusIn>的根小部件上创建单个绑定,并将所有逻辑放在该绑定中。或者,使用focus_class并绑定到类all

在root上绑定只会影响root的子节点,绑定到all会影响整个app中的所有小部件。这只有你有多个顶级小部件才有意义。

答案 1 :(得分:1)

您可以告诉工具栏按钮不要聚焦;它是一个配置选项,没有我见过的UI指南,它有工具栏按钮,有焦点。 (相反,该功能始终可通过其他键盘激活机制获得,例如热键组合。)