82.Canvas组件
1)绘制画布,移动删除画布上项目
from tkinter import *
root=Tk()
w=Canvas(root,width=200,height=100)
w.pack()
line1=w.create_line(0,50,200,50,fill='yellow')
line2w.create_line(100,0,100,100,fill='red')
rect1=w.create_rectangle(50,25,150,75,fill='blue')
w.coords(line1,0,25,200,25)#移动line1
w.itemconfig(rect1,fill='red')#设置属性颜色
w.delete(line2)#删除
Button=(root,text='delete',command=(lambda x=ALL:w.delete(x))).pack()#ALL表示所有cavans上所有对象
mainloop()
2)画布上写文字
from tkinter import *
root=Tk()
w=Canvas(root,width=200,height=100)
w.pack()
line1=w.create_line(0,0,200,100,fill='green',width=3)
line2=w.create_line(200,0,0,100,fill='green',width=3)
rect1=w.create_rectangle(40,20,160,80,fill='blue')
rect1=w.create_rectangle(65,35,135,65,fill='yellow')
w.create_text(100,50,text='haha')#写文字
mainloop()
3)画一个圆形
from tkinter import *
root=Tk()
w=Canvas(root,width=200,height=100)
w.pack()
w.create_rectangle(40,20,160,80,dash=(4,4))
w.create_oval(40,20,160,80,fill='pink')#画一个椭圆
mainloop()
4)画图
from tkinter import *
root=Tk()
w=Canvas(root,width=400,height=200)
w.pack()
def paint(event):
x1,y1=(event.x-1),(event.y-1)
x2,y2=(event.x+1),(event.y+1)
w.create_oval(x1,y1,x2,y2,fill='red')
w.bind('',paint)
Label(root,text='画一画').pack(side=BOTTOM)
mainloop()
83.菜单
from tkinter import *
root=Tk()
def callback():
print('nihao')
menubar=Menu(root) #创建一个菜单栏目
filemenu=Menu(menubar)#创建一个基于菜单的一个下拉菜单
filemenu.add_command(label='hello',command=callback)
filemenu.add_command(label='tuichu',command=callback)
filemenu.add_separator()#分割线
filemenu.add_command(label='tuichu',command=root.quit)
menubar.add_cascade(label='wenjian',menu=filemenu)#给主菜单和下拉菜单进行绑定
root.config(menu=menubar)#将主窗口和菜单项目绑定
mainloop()