Python-tkinter7:一个简单的tkinter(canvas)

本文通过Python的tkinter库展示了一个使用canvas组件创建的简单应用实例,详细介绍了相关代码实现及其产生的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例代码:

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()

效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值