示例代码:
import tkinter as tk
# 1.创建窗口
window = tk.Tk()
# 2.设置窗口属性
window.geometry("500x500")
window.title('my-window')
# 3.设置组件
# 3.1 canvas 画布
# 参数:height:高;width:宽(二者的单位都是px)
canvas = tk.Canvas(window, bg='blue', height=400, width=500)
# 3.1.1在canvas中加入一个图片
# !!视频中up主说,他的tkinter只支持gif(可能要根据具体情况来定)
# 亲测:我的也是这样(此处留问题,待解决)
img_file = tk.PhotoImage(file='img.gif')
#参数: 0,0:左上角坐标
# anchor:铆钉:NW:左上角、N:正上、NE:右上角、W:左、CENTER:正中、E:右、SW:左下角、S:正下、SE:右下角
# (铆钉处留问题:实际和up主讲的有出入)
image = canvas.create_image(0, 0, anchor='nw', image=img_file) # 将要加载的图片放到canvas里
# 3.1.2 加点图形
x0, y0, x1, y1 = 50, 50, 80, 80
#加条线
line = canvas.create_line(x0, y0, x1, y1)
#加个圆
oval = canvas.create_oval(x0, y0, x1, y1, fill='red')
#加个扇形
# 从start打开,一直打开到extent(从0度打开,一直打到180度)
arc = canvas.create_arc(x0+30, y0+20, x1+30, y1+30, start=0, extent=180)
#加个正方形
rect = canvas.create_rectangle(100, 30, 100+20, 30+20)
canvas.pack()
def moveit():
canvas.move(rect, 0, 2) # canvas图层里的移动其中的rect,每次移动x=0,y=2(即,每次向下移动2px)
# 3.2 button 按钮
# 实现功能:点击按钮实现图中的正方形向下移动
b = tk.Button(window, text='move', command=moveit)
b.pack()
# 4.运行窗口
window.mainloop()
效果: