【发布时间】:2013-08-11 18:37:21
【问题描述】:
目前我正在使用这个看起来很简单的 sn-p 代码:
label = ttk.Label(mainframe)
image1 = PhotoImage(file='my_image.gif')
label['image'] = image1
label.grid(column=1, row=0)
但是,如果我在 photoshop 中编辑 my_image.gif 的大小,然后再次运行它,图像会被拉伸到相同的大小,并且无论我制作多小的基础图像,这似乎都会继续。这似乎向我暗示 PhotoImage 或它上面的东西强制执行默认大小或特定的最小大小。我找不到任何文件表明是这种情况。
来自here 我找到了我使用的帮助(PhotoImage)建议。在 python 解释器中,我运行 help(PhotoImage) 命令,我发现了这个:
height(self)
Return the height of the image.
type(self)
Return the type of the imgage, e.g. "photo" or "bitmap".
width(self)
Return the width of the image.
但它似乎也没有为我提供任何类型的图像大小。
在搜索完所有内容后根本看不到任何参考资料,我开始怀疑在标签中使用图像是出于特定目的,而我的做法完全错了。我要做的只是在窗口顶部放置一个徽标,但我希望徽标的大小受到限制,因此它不会占据整个窗口。
另外值得注意的是this question,它似乎没有答案,但我也很好奇是否有一些文档。也许我遗漏了一些明显的东西,但我确实查看了 python 文档和http://www.tkdocs.com 网站以获取更多信息。
【问题讨论】:
-
我无法在 python 2.7 上使用各种缩放的 gif 图像重现您的问题。它工作正常 - 各种缩放的图像正确显示,没有拉伸。也许它与您的几何管理器有关?您可以为您的代码发布更多上下文(或者您发布的所有内容是什么?)
-
@Brionius - 感谢您的反馈。我走开休息了一会儿,回来了,现在它正在工作。我试图自己再次重现它,但只能得出结论,我犯了一些非常荒谬的错误。不过,这只是我关于积压的第二篇文章,我认为我学到了宝贵的一课,即在发帖前休息一下和/或在沮丧时不发帖!
-
很高兴它成功了:)
标签: python python-2.7 tkinter tk