【问题标题】:how to add a png picture to a tinkter python window?如何将 png 图片添加到 tkinter python 窗口?
【发布时间】:2017-06-13 10:31:04
【问题描述】:

我有一个窗口,我正在尝试向其中添加图像。到目前为止,该窗口由一个标签输入框和按钮组成。我想在标签下方但在输入框按钮上方添加图像。这是我的代码:

    master = Tk()
    master.wm_title("Lightning Parties")
    master.configure(background='lightgreen')
    Label(master, text="Staff Login", fg='black', bg='lightgreen', font=    ('comicsans', 14)).grid()
    Label(master, text="Please enter the password ", fg='black', bg='lightgreen', font=('comicsans', 12)).grid(row=7)

    Password= Entry(master)

    Password.grid(row=7, column=1)

    Button(master, text='Login', command=validateStaff, fg='black', bg='white', font=('comicsans', 12)).grid(row=10, column=1, sticky=W, pady=4)

我要添加的图像具有文件名“sonic.png”。

【问题讨论】:

  • 您有哪些无法通过阅读可用文档来解决的问题?互联网上有很多例子展示了如何将图像添加到 tkinter 程序中。
  • 正如@BryanOakley 正确指出的那样,在发布到 SO 之前,您应该自己进行一次调试。话虽如此,看看这些帖子。 1.tkinter-photoimage-doesnt-not-support-png-image 2.how-to-add-an-image-in-tkinter-python-2-7
  • 阅读教程或文档:即。 The Tkinter PhotoImage Class
  • @brenda 它并不粗鲁。它就是这样工作的。在你接近另一个人有问题之前,你应该在你的最后做一些挖掘。在没有调试的情况下向人们寻求解决方案是相当#rude! #NoOffense
  • 我确实对其进行了调试,并查看了文档,但我无法理解它。仅仅因为我没有将我的一生都奉献给编程并不意味着我应该受到不尊重并且看起来很愚蠢。我们都在不同的事情上挣扎,这只是我的问题。 SO是人们作为最后手段寻求帮助的地方。你不认为我已经花了几个小时试图自己解决和研究这个问题吗?因为为了你的信息,我做了。如果你没有什么好说的,那就什么都不要说! #peaceout

标签: python image tkinter png


【解决方案1】:

您可以使用所需的图像创建PhotoImage,这适用于.png.gif 和许多其他图像文件。

只需将您的图片放在Label 中,然后将Label 放在grid

from tkinter import *

master = Tk()
master.wm_title("Lightning Parties")
master.configure(background='lightgreen')
Label(master, text="Staff Login", fg='black', bg='lightgreen', font=    ('comicsans', 14)).grid()
Label(master, text="Please enter the password ", fg='black', bg='lightgreen', font=('comicsans', 12)).grid(row=7)

Password= Entry(master)    
Password.grid(row=7, column=1)

my_image = PhotoImage(master = master, file = "Your_image.png") # your image
label = Label(master, image = my_image) # put the image on a label
label.grid(row = 6, column = 0, columnspan = 2) # put the label in the grid

Button(master, text='Login', command=validateStaff, fg='black', bg='white', font=('comicsans', 12)).grid(row=10, column=1, sticky=W, pady=4)

另外@Brenda 评论你帖子的人只是想帮助你:) 当我第一次加入所以我的一些帖子被否决时,你应该从错误中学习而不是防御:)

【讨论】:

  • 谢谢,我尝试了这段代码,但是当我尝试运行时出现错误并说'图像“pyimage1”不存在'。我的图像被称为“sonic”,所以我只是将代码的“your_image.png”部分更改为“sonic.gif”。有什么想法出错了吗?再次感谢
  • 您的图片与您的程序在同一个文件夹中吗?如果不是,那可能是错误的原因
  • 我认为 pyimage1 不存在的错误是因为该图像未链接到主图像。希望如果您将 master = master 添加到 PhotoImage 它应该可以工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 1970-01-01
  • 1970-01-01
  • 2019-02-25
  • 1970-01-01
  • 2021-11-29
  • 1970-01-01
相关资源
最近更新 更多