ttk.Label中的默认图像大小

时间:2013-08-11 18:37:22

标签: python python-2.7 tkinter tk

目前我正在使用这段代码,看起来非常简单:

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网站以获取更多信息。

与ANSWER编辑

显然我犯了一个愚蠢的错误,但我不知道它是什么。最后,这是为我做的代码:

from tkinter import *
from tkinter import ttk

root = Tk()
root.title("ImageTest")
label = ttk.Label(root)
image1 = PhotoImage(file='my_image.gif')
label['image'] = image1
label.grid(column=1, row=0)

root.mainloop()

它现在正按预期工作。

1 个答案:

答案 0 :(得分:0)

显然我犯了一个错误,但是我不知道那是什么。最终,这是对我有用的这段代码:

from tkinter import *
from tkinter import ttk

root = Tk()
root.title("ImageTest")
label = ttk.Label(root)
image1 = PhotoImage(file='my_image.gif')
label['image'] = image1
label.grid(column=1, row=0)

root.mainloop()

现在一切正常。