欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python Tkinter 之Canvas控件(Python GUI 系列11)

程序员文章站 2022-08-21 19:11:14
python tkinter 之canvas控件(python gui 系列11) 1. 序言 本章介绍tkinter的canvas控件,本文是python gui系列的第11篇文章,整个约20篇博...

python tkinter 之canvas控件(python gui 系列11)

1. 序言

本章介绍tkinter的canvas控件,本文是python gui系列的第11篇文章,整个约20篇博客,将全面的介绍python tkinter常用控件,最后还将基于tkinter搭建两个比较完整的小项目。

2. 环境信息

********************************
本系列运行平台:mac os 10.13.4
python 版本:3.6.4

********************************

3. canvas

 

canvas为tkinter提供了绘图功能.其提供的图形包括线形,圆形,图片,甚至其他控件. canvas控件为绘制图形图表,编辑图形,自定义控件提供了可能.。使用方法:canvas(root,option,…)。

其中option列表如下:

 

函数

描述

master

代表了父窗口

bg

背景色,如bg=”red”,bg="#ff56ef"

fg

前景色,如fg=”red”,fg="#ff56ef"

height

设置显示高度、如果未设置此项,其大小以适应内容标签

relief

指定外观装饰边界附近的标签,默认是平的,可以设置的参数:flat、groove、raised、ridge、solid、sunken

width

设置显示宽度,如果未设置此项,其大小以适应内容标签

state

设置组件状态;正常(normal),激活(active),禁用(disabled)

bd

设置button的边框大小;bd(bordwidth)缺省为1或2个像素

除了option,canvas还有一些专属的函数,列表如下:

 

create_arc

绘制圆弧;

create_bitmap

绘制位图,支持xbm,bitmap= bitmapimage(file = filepath)

create_image

绘制图片,支持gif(x,y,image,anchor); image= photoimage(file="../xxx/xxx.gif") ,目前仅支持gif格式

create_line

绘制支线

create_oval;

绘制椭圆;

create_polygon

绘制多边形(坐标依次罗列,不用加括号,还有参数,fill,outline);

create_rectangle

绘制矩形((a,b,c,d),值为左上角和右下角的坐标);

create_text

绘制文字(字体参数font,),如font=("arial", 8),font=("helvetica 16 bold italic")

create_window

绘制窗口;

delete

删除绘制的图形;

itemconfig

修改图形属性,第一个参数为图形的id,后边为想修改的参数;

move

移动图像

coords(id)

返回对象的位置的两个坐标(4个数字元组)

4. 实例

看一个例子:橙色背景上绘制一条线

from  tkinter import *

mywindow=tk()
mywindow.title("简单绘画")
mywindow.geometry("400x300+300+200")

# width,height:设置画布的宽高,bg:设置背景色
can=canvas(mywindow,width=400,height=300,bg="orange")
# 绘制一条线,起点--终点,线宽
can.create_line((0,0),(200,200),width=4)
# 绘制文字,前两个参数为字的位置
can.create_text(300,30,text="绘制",font=("arial", 18))
# 布局方式
can.pack()
#进入消息循环
mywindow.mainloop()

运行结果:

Python Tkinter 之Canvas控件(Python GUI 系列11)