【问题标题】:set window icon tkinter macosx设置窗口图标 tkinter macosx
【发布时间】:2018-08-05 11:27:26
【问题描述】:

这一行适用于我的 Windows 程序。

当我在 Mac OS X 上运行同一个文件时,我得到一个空白页面而不是我的图标。

这是windows行:

self.iconbitmap("Boss.ico")

我一直在不懈地寻找答案,我希望这个图标在两个平台上都能正常工作。 self 是根 Tk 窗口,如果您想知道它是否是根窗口。

注意:我曾尝试使用 icns、.xbm、.gif,通过加载照片图像和设置通窗口属性在 Mac 上生成相同的空白页。

【问题讨论】:

    标签: python-3.x macos tkinter icons


    【解决方案1】:

    经过 5 天的搜索,这篇文章至少被浏览了 15 次,我直接访问了 tk/tcl 文档。如果我理解正确,显然没有办法正确设置 mac OS X 的图标,而不使用特殊的库或其他类型的黑客。如果 tkinter 库有特定于 mac 的文档,那就太好了,但可惜我没有找到。这是我找到的文档的一部分:

    wm iconphoto 窗口?-默认?图像1 ?图像2 ...?设置标题栏 基于命名照片图像的窗口图标。如果 -default 是 指定,这也适用于所有未来创建的顶层。 图像中的数据是拍摄时的快照 调用。如果稍后更改图像,则不会反映到 标题栏图标。接受多个图像以允许不同 要提供的图像尺寸(例如,16x16 和 32x32)。窗户 经理可以将提供的图标缩放到适当的大小。在 Windows 上, 图像被打包到 Windows 图标结构中。这会 覆盖指定给 wm iconbitmap 的 ico,反之亦然。

    在 X 上,图像被排列到 _NET_WM_ICON X 属性中,该属性 大多数现代窗口管理器都支持。可能存在 wm 图标位图 同时地。建议使用不超过2个图标, 首先放置较大的图标。

    在 Macintosh 上,这目前没有任何作用。

    如果有人有可行的解决方案,请发布此内容。我想做到这一点,以便任何系统都可以打开一个新安装的 python 并运行我的应用程序,而无需安装任何额外的库。

    【讨论】:

    • 令人震惊的是,我得出了相同的结论,而我们都在 2018 年?
    • 现在根本不是 2019 年,是的,我感觉需要 10 年以上才能修复它,哈哈……当他们修复它时,我将能够编写自己的 c# 包装器它。甚至是 c++ 包装器。
    【解决方案2】:

    @GarryHurst 这不是一个解决方案,但我现在有点明白了:

    1. 在 Mac 上,TK 决定图标永远不会出现在窗口标题栏上。
    2. 相反,它显示为应用程序的 Dock 图标。

    这很可能是他们的设计或无法解决的问题。

    【讨论】:

      【解决方案3】:

      它显示了您放入目录中的文件的图标,因此将文件设置为应用程序会将窗口图标设置为该应用程序的图标。 例如: root.iconbitmap("/Users/homedir./Desktop/Test apps/Clicker.app") tk window with icon

      【讨论】:

        猜你喜欢
        • 2022-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-26
        • 1970-01-01
        • 2011-04-28
        • 1970-01-01
        • 2021-07-23
        相关资源
        最近更新 更多