Python button选取本地图片并显示的实例

yipeiwu_com7年前Python基础

从本地文件夹中选取一张图片并在canvas上显示

from tkinter import *
from tkinter import filedialog
from PIL import Image, ImageTk

if __name__ == "__main__":
  root = Tk()

  #setting up a tkinter canvas with scrollbars
  frame = Frame(root, bd=2, relief=SUNKEN)
  frame.grid_rowconfigure(0, weight=1)
  frame.grid_columnconfigure(0, weight=1)
  xscroll = Scrollbar(frame, orient=HORIZONTAL)
  xscroll.grid(row=1, column=0, sticky=E+W)
  yscroll = Scrollbar(frame)
  yscroll.grid(row=0, column=1, sticky=N+S)
  canvas = Canvas(frame, bd=0, xscrollcommand=xscroll.set, yscrollcommand=yscroll.set)
  canvas.grid(row=0, column=0, sticky=N+S+E+W)
  xscroll.config(command=canvas.xview)
  yscroll.config(command=canvas.yview)
  frame.pack(fill=BOTH,expand=1)


  #function to be called when mouse is clicked
  def printcoords():
    File = filedialog.askopenfilename(parent=root, initialdir="C:/",title='Choose an image.')
    filename = ImageTk.PhotoImage(Image.open(File))
    canvas.image = filename # <--- keep reference of your image
    canvas.create_image(0,0,anchor='nw',image=filename)

  Button(root,text='choose',command=printcoords).pack()
  root.mainloop()

以上这篇Python button选取本地图片并显示的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python多进程实现文件下载传输功能

本文实例为大家分享了python多进程实现文件下载传输功能的具体代码,供大家参考,具体内容如下 需求: 实现文件夹拷贝功能(包括文件内的文件),并打印拷贝进度 模块: os模块 mu...

Python 多线程Threading初学教程

Python 多线程Threading初学教程

1.1 什么是多线程 Threading 多线程可简单理解为同时执行多个任务。 多进程和多线程都可以执行多个任务,线程是进程的一部分。线程的特点是线程之间可以共享内存和变量,资源消耗少(...

Python对Excel按列值筛选并拆分表格到多个文件的代码

场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。 本文利用Python的pandas包实现了以上场景。 注:本示例代码只实现按单列拆分,如果需要多...

Python3.8中使用f-strings调试

前言 我日常开发大概有98%的情况下会使用print来调试(别说pdb之类的, 根本不实用),通过在合适的位置插入print语句打印出要跟踪的表达式或者变量的值来确认问题。f-strin...

深入讲解Python编程中的字符串

深入讲解Python编程中的字符串

Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表: Python字符串运算符 下表实例变量a值为字符串"Hello",b变量值为"Pyt...