Python/Tkinter:构建提供编辑、剪切、复制、粘贴命令的工具栏

发布于 2024-10-01 01:40:35 字数 284 浏览 8 评论 0原文

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

有没有更简单的方法来解决这个问题,或者我走在正确的轨道上吗?

I'm looking for suggestions on how one might implement a toolbar that provides edit cut, copy, paste commands using the Tkinter framework. I understand how to build a toolbar and bind the toolbar commands, but I'm confused over how the toolbar button bound commands will know which widget to apply the cut, copy, or paste action because the widget with edit activity will lose focus when the toolbar button is clicked. My first thought was to have each widget with potential edit activity set a global variable when the widget gains focus and have other widgets (without edit activity, eg. buttons, sliders, checkbox/radiobox, etc) clear this global variable. But this sounds complicated to maintain unless I build a framework of widgets that inherit this behavior.

Is there a simpler way to go about this or am I on the right track?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

未蓝澄海的烟 2024-10-08 01:40:35

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

绑定到根只会影响根的子级,绑定到 all 将影响整个应用程序中的所有小部件。仅当您有多个顶级小部件时,这一点才重要。

You don't have to maintain a big framework, you can create a single binding on the root widget for <FocusIn> and put all the logic in that binding. Or, use focus_class and bind to the class all.

Binding on the root will only affect children of the root, binding to all will affect all widgets in the entire app. That only matters if you have more than one toplevel widget.

無處可尋 2024-10-08 01:40:35

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

You can tell the toolbar buttons to not take the focus; it's a configuration option and no UI guidelines I've ever seen have had toolbar buttons with focus. (Instead, the functionality is always available through some other keyboard-activatable mechanism, e.g., a hotkey combo.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文