如何在 OSX 上替换 Python 中的“关于 Tkinter”菜单

2024-01-28

编辑:我指的是 OSX 应用程序菜单,其中包含“关于”和“首选项”菜单项(以及其他菜单项)。

对于知道正确搜索词的人来说,也许这将是另一个简单的过程,但是在花费数小时在 IDLE 中跟踪代码并搜索网络之后,我还没有完全能够将这些点联系起来。

我正在尝试替换 Python 中的标准“关于”菜单。 IDLE 至少部分地做到了这一点;菜单仍然命名为“About Python”,但它显示 IDLE About 窗口。当从 Wing IDE(X11 下)运行时,idle 不会显示其“关于”窗口,并且由于某种原因 IDLE 不想调试idle.py...

我已经能够用“About MyProgramName”替换“About Python”,但我要么得到通常的“tk About”窗口,要么根本没有关于窗口。 IDLE 定义了一个虚拟事件来将控制传递给它的“关于”窗口,而我却被困在如何定义连接到菜单选项的虚拟事件上。

所以我有root.bind('<<about-myprogram>>', about_dialog),但是我该如何连接它呢? to.add_event() 需要一个序列...

有什么建议么?


如果您正在讨论构建一个菜单栏,菜单上有一个“帮助”条目,并且“帮助”菜单上有一个“关于”条目,那么这是非常基本的内容,并且有很好的示例。

  • http://effbot.org/tkinterbook/menu.htm http://effbot.org/tkinterbook/menu.htm
  • http://www.tkdocs.com/tutorial/menus.html http://www.tkdocs.com/tutorial/menus.html

其中任何一个都将清楚地解释如何为您的应用程序创建顶级菜单。如果你在谈论其他事情,那么请澄清一下。

我搜索了::tk::mac::ShowPreference在我的 C:\Python27 目录下的源代码中,并运行了文件 C:\Python27\Lib\idlelib\macosxSupport.py 中的代码,它看起来正在做你想做的事情(或者至少足够接近,你可以适应它)。

def config_dialog(event=None):
    from idlelib import configDialog
    root.instance_dict = flist.inversedict
    configDialog.ConfigDialog(root, 'Settings')

root.createcommand('::tk::mac::ShowPreferences', config_dialog)

我无法在 createcommand() 方法上找到任何好的文档,但我确实确认它存在于root我创建的小部件root = Tk()。在寻找更多信息时我也遇到了这个很少讨论 http://mail.python.org/pipermail/tkinter-discuss/2009-April/001893.html就此主题而言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 OSX 上替换 Python 中的“关于 Tkinter”菜单 的相关文章

随机推荐

  • 为 Uwsgi 编译插件

    我从官方网站编译了uwsgi版本x y zz ww 我使用官方文档中建议的命令编译了uwsgi 然后我用官方文档中的命令编译了Python建议的插件 我得到的错误输出是这样的 gt ubuntu ip xx yy zz ww tmp uws
  • 检测自定义形状 OpenCV

    我想在 OpenCV 中找到自定义形状 形状是预先定义的 我想使用网络摄像头实时检测该形状是否等于当前形状 我怎样才能做到这一点 如何比较预定义的自定义形状和当前形状 正如评论者所回避的那样 您可以使用模板匹配来检测自定义形状 那么什么是模
  • 检查对象类型失败并出现“不是类型”错误

    我试图检查一个对象是否属于给定类型 但收到错误 expectedClass 不是类型 我的代码如下 func testInputValue inputValue AnyObject isKindOfClass expectedClass A
  • Spring Boot 应用程序已弃用 java.security.egd=file:/dev/./urandom?

    我曾经配置过 Djava security egd file dev urandom在我的 Spring Boot 应用程序的 Dockerfile 中 In https spring io guides gs spring boot do
  • 将增量数据从 REST API 引入 SQL azure

    我的需求如下 需要将数据从第 3 方 API 提取到 SQL azure 中 每天都会查询 API 以获取增量数据 并且可能需要分页 因为默认情况下任何 API 响应都只会提供前 N 条记录 该 API 还需要一个身份验证令牌才能工作 这是
  • Android 应用程序中使用的服务器 Web 的 Google Places API 密钥请求被拒绝

    我正在尝试从 Android 应用程序的 Google Places API 获取信息 为此 我首先在我的 Google 帐户中启用了此 API 其次 我为浏览器创建了一个 API KEY 由于另一个 API 我已经有了一个 API KEY
  • Doctrine DQL 每组最大 n

    这是我的 Symfony2 项目的 2 个表 EVENT PHOTO id id event id likes 1 1 1 90 2 2 1
  • 将每个组扩展到最大 n 行

    如何将组扩展到最大组的长度 df lt structure list ID c 1L 1L 2L 3L 3L 3L col1 c A B O U L R class data frame row names c NA 6L ID col1
  • 如何在 Spring Integration 测试之间删除内存中的 h2db?

    我在 Spring Web 应用程序中使用 Liquibase 我有一堆实体 在每个实体 如用户 帐户 发票 许可证等 的集成测试中对 REST API 进行了数百次测试 我的所有集成测试在按类运行时都通过了 但其中很多在使用一起运行时失败
  • 如何修复ModuleNotFoundError:使用python源代码安装没有名为“pip._internal”的模块[重复]

    这个问题在这里已经有答案了 我通过编译源代码在redhat机器上安装了python3 7 但在处理pip3时遇到问题 安装后我已经执行了以下步骤 sudo ln usr local bin python3 7 usr bin python3
  • r中的2d矩阵到3d堆叠数组

    我有一个数据框data在 R 中 大小为 120000 行 x 5 列 每300行是在不同时间间隔测量的一帧 即400帧 Action 我尝试使用array data c 300 5 400 Expected 通过分割将此数据框变成 3d
  • 如何正确处理类中使用的字节数组?

    我有一个 StateObject 类 用于存储来自客户端和服务器的数据 这是代码 public class StateObject IDisposable public StateObject public String serviceNa
  • iPhone 自动对焦中到“兴趣点”的距离

    在iphone中 我想计算相机到拍摄对象的距离 我想知道也许 iPhone 相机的 主动自动对焦 为我提供了到拍摄对象 兴趣点 的距离 提前谢谢了 附注伙计们 如果您认为不可能 请告诉我 据我所知 这是不可能的 请参阅here http d
  • Pyside6:从 QTableWidget 复制粘贴、删除、撤消多个单元格

    我希望能够使用 control C control V 在 Pyside6 表 QTableWidget 之间进行复制和粘贴 主要是在 Excel 之间进行复制和粘贴 我找到了 Momo 2023 年 1 月的帖子 1 https stac
  • JavaScript 闭包。在循环中访问当前 i、j 变量[重复]

    这个问题在这里已经有答案了 我尝试动态生成 table 使用 jQuery 我想为每个单元格设置单击处理程序 因此当单元格单击时 弹出窗口将显示单元格的当前索引 我如何访问 CURRENTi and j循环中的变量 for var i 0
  • 如何使用不同的服务帐户凭据验证谷歌API?

    任何曾经不幸以编程方式与 Google CLI 二进制文件进行交互的人都会意识到 可以使用以下工具进行身份验证gcloud gsutil bq等远非直观或琐碎 尤其当您需要跨不同项目工作时 我正在为不同的项目运行与 Google Cloud
  • 在 Ubuntu Linux 上安装功能齐全的 PostGIS 2.0 GEOS/GDAL 问题

    我一直致力于在 ubuntu maverick amd64 Linux 服务器上启动并运行 postgis 2 0 大约一周 我正在寻求栅格和拓扑支持 我使用以下内容进行配置 sudo configure with raster with
  • JAXB RI ClassFactory 中的空指针异常

    Intro 我和我的朋友正在开发一个 JavaFX 应用程序 该应用程序充当我们学校的规划器 我们有任务 课程作业 活动 课程和学生信息 为了将数据持久存储在用户的硬盘上 我们使用了 JAXB 我们已经注释了我们的类 并且可以成功地将 Ta
  • 使用 Flexbox 具有相同高度元素的多行网格

    我正在尝试创建一个具有多行和多列的网格 我希望使用 Flexbox 使它们都具有相同的高度 但我唯一能得到的是一行上具有相同大小的列 这是我正在尝试做的事情的一个例子 http jsbin com maxavahesa 1 edit htm
  • 如何在 OSX 上替换 Python 中的“关于 Tkinter”菜单

    编辑 我指的是 OSX 应用程序菜单 其中包含 关于 和 首选项 菜单项 以及其他菜单项 对于知道正确搜索词的人来说 也许这将是另一个简单的过程 但是在花费数小时在 IDLE 中跟踪代码并搜索网络之后 我还没有完全能够将这些点联系起来 我正