小北找北 发表于 2014-12-07 11:00

python Tkinter设置背景图片

最近要用Tkinter做一个GUI,想请教一下在Tk下如何设置背景图片的问题。如果有人知道相关的帖子,还请明一下。。。先谢谢了

whitelotus19 发表于 2014-12-11 20:15

本帖最后由 whitelotus19 于 2014-12-11 20:41 编辑

这有个帖子,你看看是不是这样:
stackoverflow.com/questions/10158552/how-to-put-a-image-as-a-background-in-tkinter-in-python

随便瞄了两眼写了下:#!/usr/bin/python
# -*- coding: utf-8 -*-

from Tkinter import *
from PIL import ImageTk,Image

app = Tk()
app.title("Welcome")
image2 =Image.open(r'C:\Python27\tcl\tk8.5\demos\images\earth.gif')
background_image = ImageTk.PhotoImage(image2)
w = background_image.width()
h = background_image.height()
app.geometry('%dx%d+0+0' % (w,h))

background_label = Label(app, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

for x in ('button1','button2','button3'):
    btn=Button(app,text=x)
    btn.pack()
   
app.mainloop()

小北找北 发表于 2014-12-15 22:02

非常感谢,但是我是这样创建的壹个主窗口,想用图片作为窗口的背景,测试了几次都未能成功,还请帮忙看一下呢。谢谢了
       root = Tkinter.tk()
       self.canvas = Tkinter.Canvas(root)

      self.image = Image.open(r"img.jpg")
      background_image = ImageTk.PhotoImage(self.image)
      self.canvas.create_image(100,100,image = background_image)
             ………………
             ………………
      self.canvas.pack()

shenyue_sam 发表于 2014-12-16 09:58

Tkinter支持的图片格式很少。
GIF可以。


>>> help(Tkinter.PhotoImage)
Help on class PhotoImage in module Tkinter:

class PhotoImage(Image)
|Widget which can display colored images in GIF, PPM/PGM format.

whitelotus19 发表于 2014-12-17 09:29

回复 3# 小北找北

这样?#!/usr/bin/python
# -*- coding: utf-8 -*-

from Tkinter import *
from PIL import ImageTk

root=Tk()

canvas = Canvas(root,width = 600, height = 400, bg = 'blue')
canvas.pack(expand = YES, fill = BOTH)

image = ImageTk.PhotoImage(file = r"C:\Windows\Web\Wallpaper\Nature\img1.jpg")
canvas.create_image(10, 10, image = image, anchor = NW)

root.mainloop()看看这个帖子:
stackoverflow.com/questions/13637028/adding-a-background-image-in-python

小北找北 发表于 2015-01-05 15:57

好的非常感谢你
页: [1]
查看完整版本: python Tkinter设置背景图片