python_tkinter画布

今天,我为大家带来的是Python下 Tkinter 模块中的 Canvas(画布)

Canvas是一个长方形的面积,图画或其他复杂的布局。可以放置在画布上的图形,文字,部件,或是帧.


语法:
这里是一个简单的语法来创建这个widget:

w = Canvas ( master, option=value, ... )
参数:
master:  这代表了父窗口.


options: 下面是这个小工具最常用的选项列表。这些选项可以作为键 - 值对以逗号分隔.
常用的有:height(高),

  width(宽),

  bg(背景颜色)

  bd(边框宽度为像素。默认值是2)
Canvas的widget可以支持以下标准的条目:


arc .创建弧项目,它可以是一个和弦,饼图扇区,或是一个简单的弧.

coord = 10, 50, 240, 210
arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")

image . 创建一个图像的项目,它可以是位图图像或是照片图像类的一个实例.

filename = PhotoImage(file = "sunshine.gif")
image = canvas.create_image(50, 50, anchor=NE, image=filename)

line . 创建一条线条目.
line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
oval . 在给定的坐标创建一个圆或椭圆。它的坐标两双。为椭圆的边界矩形左上角和底部右下角.
oval = canvas.create_oval(x0, y0, x1, y1, options)
polygon . 创建一个多边形的项目,必须有至少三个顶点.
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)
例子:
自行尝试下面的例子:
 
 
import tkinter


top = tkinter.Tk()


C = tkinter.Canvas(top, bg="blue", height=250, width=300)


coord = 10, 50, 240, 210
arc = C.create_arc(coord, start=0, extent=150, fill="red")


C.pack()
top.mainloop()
 
 
 
 



 
 

这将产生以下结果:


画布(扇形)





在此,我附上我写的一个小dome:

#!/usr/bin/python3.6
# -*- coding: UTF-8 -*-
from tkinter import *       #导入 Tkinter 库
import time                  #导入time模块
tk = Tk()                      # 创建窗口对象的背景色
#创建一个宽为400,高为400,背景为蓝色色的画布
canvas = Canvas(tk,width=400,height=400,bg="blue")
canvas.pack()
#创建一个圆形
id = canvas.create_oval(10,10,100,100,fill="red")
def re(event):
    if event.keysym == "w":
        canvas.move(1,0,-1)
        canvas.itemconfig(id, fill="yellow")
    elif event.keysym == "s":
        canvas.move(1, 0, 1)
        canvas.itemconfig(id, fill="green")
    elif event.keysym == "a":
        canvas.move(1,-1,0)
        canvas.itemconfig(id, fill="black")
    elif event.keysym =="d":
        canvas.move(1,1,0)
        canvas.itemconfig(id, fill="red")
canvas.bind_all('<KeyPress-a>',re)    #键盘按下a向左移动,并变化颜色(黄色)
canvas.bind_all('<KeyPress-s>',re)    #键盘按下s向下移动,并变化颜色(绿色)
canvas.bind_all('<KeyPress-w>',re)    #键盘按下w向上移动,并变化颜色(黑色)
canvas.bind_all('<KeyPress-d>',re)    #键盘按下d向右移动,并变化颜色(红色)
tk.mainloop()



 
 
 
 
 
 
 

猜你喜欢

转载自blog.csdn.net/yl20175514/article/details/78357425
今日推荐