免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 28634 | 回复: 5
打印 上一主题 下一主题

python Tkinter设置背景图片 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-12-07 11:00 |只看该作者 |倒序浏览
最近要用Tkinter做一个GUI,想请教一下在Tk下如何设置背景图片的问题。如果有人知道相关的帖子,还请明一下。。。先谢谢了

论坛徽章:
0
2 [报告]
发表于 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

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

  3. from Tkinter import *
  4. from PIL import ImageTk,Image

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

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

  14. for x in ('button1','button2','button3'):
  15.     btn=Button(app,text=x)
  16.     btn.pack()
  17.    
  18. app.mainloop()
复制代码

论坛徽章:
0
3 [报告]
发表于 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()

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之福建
日期:2016-08-08 13:37:03
4 [报告]
发表于 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.

论坛徽章:
0
5 [报告]
发表于 2014-12-17 09:29 |只看该作者
回复 3# 小北找北

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

  3. from Tkinter import *
  4. from PIL import ImageTk

  5. root=Tk()

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

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

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

论坛徽章:
0
6 [报告]
发表于 2015-01-05 15:57 |只看该作者
好的  非常感谢你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP