图1 全屏显示图片
由于 PhotoImage 若没有被引用,便会自动销毁,所以需要显示的引用它:
from tkinter import Tk, Canvas
from PIL import Image, ImageTk
class CanvasMeta(Canvas):
def __init__(self, master, cnf={}, **kw):
super().__init__(master, cnf, **kw)
self.photo = None # 显示的引用 PhotoImage
def set_photo(self, photo):
'''设置背景图'''
# 使用实例变量引用避免 PhotoImage 被销毁
self.photo = ImageTk.PhotoImage(file=photo)
为了查看画布的坐标,需要绑定事件:
class Graph(CanvasMeta):
def __init__(self, master, cnf={}, **kw):
super().__init__(master, cnf, **kw)
self.bind('<1>', self.print_xy)
def print_xy(self, event):
print(event.x ,event.y)
下面可以直接查看背景图片:
def run(name):
root = Tk()
self &#