【问题标题】:Show images using Python/tkinter on scaled (e.g. retina) displays在缩放(例如视网膜)显示器上使用 Python/tkinter 显示图像
【发布时间】:2012-09-01 08:11:25
【问题描述】:

当显示来自 python/tkinter 的图像时,使用如下代码:

self.label = tk.Label(self.root, image=image)
self.label.pack()

图像在 MBP 视网膜上出现像素化,即每个轴上的像素加倍。

有没有办法说服 tkinter 以“本机”分辨率显示图像?如果没有,还有哪些其他解决方案可以显示图像?当然,图像可以保存在其他地方查看,但我在使用 GUI 选项。

【问题讨论】:

  • 您在下面将解决方案标记为正确 - 您能描述一下您是如何使其工作的吗?我可以找到有关使用 python 编辑 plist 的资源,但不能找到将 plist apply 应用于 python 应用程序的资源。你可以只用一个 python/tk 脚本来做吗,还是需要用 pyinstaller 或类似的工具捆绑起来?

标签: python tkinter retina-display


【解决方案1】:

如果您使用 Tk 的 Cocoa 版本(例如 ActiveState 版本),您可能可以在程序的 plist 中添加一些内容,请参阅: https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html#//apple_ref/doc/uid/TP40012302-CH4-SW10

NSHighResolutionCapable是的

但不确定它是否有效。

如果您仍然使用基于 Carbon 的旧版本,它将无法正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多