【问题标题】:Integrate a picture with Tkinter将图片与 Tkinter 集成
【发布时间】:2014-02-27 14:34:00
【问题描述】:

我是 Python 的初学者。我正在尝试在窗口中显示带有 Tkinter 的图片,但我没有成功...

这是我的一段代码:

import serial
import time
import sys
import os

from Tkinter import *

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

[...]

class Application(Frame):

    def __init__(self, master):
        """ Initialize the Frame"""
        Frame.__init__(self,master)
        self.create_widgets()

    def create_widgets(self):

        [...]

        try:
            self.photo=PhotoImage('buttongreen.gif') 
            pic = Canvas(self,width =256, height = 256, bg ='blue')
            pic.grid(row=6, columnspan=2,column=0,padx = 10, pady =10)
            pic.create_image(256,256, image=self.photo)
            """self.panel = Label(self, image = photo)
            self.panel.pack(side = "bottom", fill = "both", expand = "yes")"""
        except:
            print "Unable to load image"
[...]

app = Application(root)
app.grid()

root.mainloop()

问题是canvas只显示背景,不显示图片,请问有什么问题吗?

注意:buttongreen.gif 与我的 .py 位于同一文件夹中

【问题讨论】:

    标签: python image python-2.7 tkinter


    【解决方案1】:
    self.photo=PhotoImage('buttongreen.gif') 
    

    应该是……

    self.photo=PhotoImage(file = 'buttongreen.gif')
    

    【讨论】:

      【解决方案2】:

      self.photo = PhotoImage(file='buttongreen.gif') 中需要 file=

      工作示例

      from Tkinter import *
      
      root = Tk()
      root.title("Title")
      root.geometry("500x500")
      
      class Application(Frame):
      
          def __init__(self, master):
              """ Initialize the Frame"""
              Frame.__init__(self, master)
              self.create_widgets()
              self.grid()
      
          def create_widgets(self):
      
              try:
                  self.photo = PhotoImage(file='buttongreen.gif') # file =
      
                  pic = Canvas(self, width=256, height=256, bg='blue')
                  pic.grid(row=6, columnspan=2, column=0, padx=10, pady=10)
      
                  pic.create_image(256, 256, image=self.photo)
      
              except:
                  print "Unable to load image"
      
      app = Application(root)
      
      root.mainloop()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-25
        • 2017-11-23
        • 2019-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多