python3 tkinter实现添加图片和文本

yipeiwu_com6年前Python基础

本文在前面文章基础上介绍tkinter添加图片和文本,在这之前,我们需要安装一个图片库,叫Pillow,这个需要下载exe文件,根据下面图片下载和安装。

下载完后直接双击安装exe,默认点击下一步,直到安装完成,会自动安装到Python3.6下的\lib\site-packages\PIL

# tkinter实现菜单功能
from tkinter import *
from PIL import Image, ImageTk
 
class Window(Frame):
 
  def __init__(self, master= None):
 
    Frame.__init__(self, master)
    self.master = master
    self.init_window()
 
  def init_window(self):
 
    self.master.title("第一个窗体")
 
    self.pack(fill=BOTH, expand=1)
 
    # 实例化一个Menu对象,这个在主窗体添加一个菜单
    menu = Menu(self.master)
    self.master.config(menu=menu)
 
    # 创建File菜单,下面有Save和Exit两个子菜单
    file = Menu(menu)
    file.add_command(label='Save')
    file.add_command(label='Exit', command=self.client_exit)
    menu.add_cascade(label='File',menu=file)
 
    # 创建Edit菜单,下面有一个Undo菜单
    edit = Menu(menu)
    edit.add_command(label='Undo')
    edit.add_command(label='Show Image',command=self.showImg)
    edit.add_command(label='Show Text',command=self.showTxt)
    menu.add_cascade(label='Edit',menu=edit)
    
 
  def client_exit(self):
    exit()
 
  def showImg(self):
    load = Image.open('pic.jpg') # 我图片放桌面上
    render= ImageTk.PhotoImage(load)
 
    img = Label(self,image=render)
    img.image = render
    img.place(x=0,y=0)
 
  def showTxt(self):
    text = Label(self, text='GUI图形编程')
    text.pack()
 
root = Tk()
root.geometry("400x300")
app = Window(root)
root.mainloop()

运行,点击Edit菜单下的Show Image,会显示一张图片,点击Show Text会出现一行文本。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中捕捉详细异常信息的代码示例

大家在开发的过程中可能时常碰到一个需求,需要把Python的异常信息输出到日志文件中。 网上的办法都不太实用,下面介绍一种实用的,从Python 2.7源码中扣出来的。 废话不说 直接上...

关于ZeroMQ 三种模式python3实现方式

关于ZeroMQ 三种模式python3实现方式

ZeroMQ是一个消息队列网络库,实现网络常用技术封装。在C/S中实现了三种模式,这段时间用python简单实现了一下,感觉python虽然灵活。但是数据处理不如C++自由灵活。 Req...

Python实现的本地文件搜索功能示例【测试可用】

Python实现的本地文件搜索功能示例【测试可用】

本文实例讲述了Python实现的本地文件搜索功能。分享给大家供大家参考,具体如下: 偶尔需要搜索指定文件,不想每次都在windows下面去搜索,想用代码来实现搜索,而且能够收集搜索结果,...

一个小示例告诉你Python语言的优雅之处

比如, 我们希望希望检测"一段string是否以特定的字符串结尾?", 通常我们使用: if needle.endswith('ly') or needle.endswi...

python中装饰器级连的使用方法示例

前言 最近在学习python,学会了为什么要使用装饰器,也明白了装饰器是什么了,但是你也许会问,是否可以在装饰器前面再添加一层装饰器,会怎么样呢?就像大楼一样,一层一层地叠在一起。其实是...