python3 tkinter实现添加图片和文本

yipeiwu_com5年前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中的and和or和其它语言的区别很大其它语言中的and和or都是返回bool类型的结果,python不是。它返回的是做and和or运算的其中一个值。那个值决定了这个表达式的值...

基于python全局设置id 自动化测试元素定位过程解析

背景: 在自动化化测试过程中,不方便准确获取页面的元素,或者在重构过程中方法修改造成元素层级改变,因此通过设置id准备定位。 一、python准备工作: 功能:用自动化的方式进行批量处理...

pandas的object对象转时间对象的方法

如下所示: df = pd.read_table('G:/tc/dataset/user_view.txt', sep=",")#读取文件 df.columns = ["a", "b...

对python中的控制条件、循环和跳出详解

对python中的控制条件、循环和跳出详解 代码缩进(代码块): python用缩进表示代码块,没有其他语言的大括号 缩进是强制检查,整个代码缩进必须一致,否则无法运行 用2、4个空格或...

探究Python多进程编程下线程之间变量的共享问题

 1、问题: 群中有同学贴了如下一段代码,问为何 list 最后打印的是空值?   from multiprocessing import Process, M...