tkinter学习系列之(八) Canvas控件

目录

前言

由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下。

carves就是画布的意思,用于画图。

(一)carves创建方法

(1)说明:

与其他的控件一样,carves的创建方也是在tk里。

(2)源代码:

import tkinter as tk

win = tk.Tk()
win.geometry("600x400+200+100")

# 创建画布
canvas = tk.Canvas(win, bg="orange")
canvas.place(relx=0.05, rely=0.05, relwidth=0.9, relheight=0.9)

win.mainloop()

(3)输出效果:

01.png

(二)carves的画图方法

(1)说明:

方法 说明 参数
.create_line() 画线 (起始坐标),(终点坐标),width=线宽,fill=颜色
.create_arc() 画圆弧 (起始坐标),(终点坐标),width=线宽,fill=颜色
.create_rectangle() 画矩形 (起始坐标),(终点坐标),fill='填充的颜色, outline=边框的颜色
.create_oval() 画椭圆 (外接矩阵的四个坐标),fill='填充的颜色, outline=边框的颜色
.create_polygon() 画多边形 d多个点的坐标,fill='填充的颜色, outline=边框的颜色
.create_text() 显示文字 text="文字"
.delete() 删除对象 创建线返回的对象

(2)源代码:

import tkinter as tk

win = tk.Tk()
win.geometry("600x400+200+100")
canvas = tk.Canvas(win, bg="orange")
canvas.place(relx=0.05, rely=0.05, relwidth=0.9, relheight=0.9)

# 画一条实线, fill:填充的颜色
line1 = canvas.create_line((0, 0), (100, 100), width=5, fill="red")

# 画一条虚线 dash=(1, 1)
canvas.create_line((200, 200), (200, 300), width=5, fill="green", dash=(1, 1))

# 画一个圆弧
canvas.create_arc((100, 100), (200, 200), width=5)

# 显示文字
canvas.create_text((300, 100), text="文字", font=("微软雅黑", 18))

# 绘制矩形, outline:线条颜色
canvas.create_rectangle(50, 25, 150, 75, fill='blue', outline='green', width=5)

# 绘制椭圆
canvas.create_oval(200, 25, 350, 75, fill='pink', outline='green', width=5)

# 绘制多边形
point = [(100, 100), (100, 200), (200, 300), (300, 400), (400, 500)]
canvas.create_polygon(point, outline='green', fill='yellow')


def dele_line():
    canvas.delete(line1)


btn = tk.Button(canvas, text="删除", command=dele_line)
btn.place(relx=0.4, rely=0.8)

win.mainloop()

(3)输出效果:

02.png

作者:Mark

日期:2019/02/13 周三

posted @ 2019-02-15 11:21  梦并不遥远  阅读(5388)  评论(0编辑  收藏  举报