【问题标题】:adding image to tkinter gui将图像添加到 tkinter gui
【发布时间】:2015-01-18 21:18:34
【问题描述】:

我是 Tkinter 的新手。我想创建一个可以支持嵌入音频文件并且还具有背景图像的 GUI。我无休止地尝试安装 pygame 无济于事。我似乎无法弄清楚为什么它没有正确安装,所以此时我只是想找到最简单的方法来获得这两个选项。下面是我尝试使用画布小部件显示背景图像。但是,我总是收到一个错误,即我的变量未定义。我真的很感谢一些关于我做错了什么的反馈,以及任何有用的 tkinter 教程,这些教程不仅仅涉及基础知识。提前致谢

from Tkinter import *   

root = Tk()
root.geometry("500x500")

class Application(Frame):

    def __init__(self, master):
        #initialize the frame
        Frame.__init__(self, master)
        self.grid()
        self.createWidgets()

    def createWidgets(self):
        self.can = Canvas(root, width=160, height=160, bg='white')
        self.pic = PhotoImage(file='speaker.gif')
        self.item = can.create_image(80, 80, image=pic)

app = Application(root)

#kick off event loop
root.mainloop()

【问题讨论】:

    标签: python user-interface tkinter


    【解决方案1】:

    每次你想在一个类的方法中使用一个类的属性时,你需要在它前面加上self.:

    self.item = self.can.create_image(80, 80, image=self.pic)
    #           ^^^^^                               ^^^^^
    

    否则,Python 会将名称视为函数的本地名称,并在找不到它们时引发异常。

    另外,您忘记在画布小部件上调用 grid

    self.can = Canvas(root, width=160, height=160, bg='white')
    self.can.grid(...)
    

    关于 Tkinter 的资源,你可以看看这些:

    【讨论】:

      猜你喜欢
      • 2017-12-04
      • 1970-01-01
      • 2015-10-26
      • 2021-11-29
      • 2022-01-17
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多