Python Tkinter图形开发界面的库
Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
1.创建控件
from tkinter import *
root=Tk()
cv=Canvas(root,bg='black')
# bg背景颜色,默认为白色
cv.pack()
# 进入消息循环
root.mainloop()
得到下图
2.创建item
from tkinter import *
root=Tk()
cv=Canvas(root)
cv.create_rectangle(10,10,200,100,fill='blue')
#创建坐标(10,10),大小200*100,蓝色矩形
cv.pack()
root.mainloop()
3.修改边框颜色,粗细,样式
cv.create_rectangle(10,10,200,100,outline='red',width=5,dash=10)
4.创建tags
from tkinter import *
root=Tk()
cv=Canvas(root)
rt = cv.create_rectangle(10,10,200,100,outline='red',tags='r1')
cv.pack()
print(cv.gettags(rt))
cv.itemconfig(rt,tags=('r2','r3','r4'))
print(cv.gettags(rt))
root.mainloop()
# ('r1',)
# ('r2', 'r3', 'r4')
5.通过tag访问item
from tkinter import *
root=Tk()
cv=Canvas(root)
rt=cv.create_rectangle(10,10,200,100,tags=('r1','r2','r3'))
cv.pack()
cv.create_rectangle(20,20,100,50,tags='r3')
for item in cv.find_withtag('r3'):
cv.itemconfig(item,outline='blue')
root.mainloop()
6.向item添加tag
from tkinter import *
root=Tk()
cv=Canvas(root)
rt1=cv.create_rectangle(10,10,210,110,tags=('r1','r2','r3'))
rt2=cv.create_rectangle(20,20,160,80,tags=('s1','s2','s3'))
rt3=cv.create_rectangle(30,30,100,70,tags=('y1','y2','y3'))
cv.addtag_above('r4',rt2)
cv.addtag_below('r5',rt2)
for item in [rt1,rt2,rt3]:
print(cv.gettags(item))
cv.pack()
root.mainloop()
7.返回其他item
from tkinter import *
root=Tk()
cv=Canvas(root)
rt1=cv.create_rectangle(10,10,110,110,tags=('r1','r2','r3'))
rt2=cv.create_rectangle(20,20,80,80,tags=('s1','s2','s3'))
rt3=cv.create_rectangle(30,30,70,70,tags=('y1','y2','y3'))
cv.itemconfig(cv.find_above(rt2),outline='red')
cv.itemconfig(cv.find_below(rt2),outline='green')
cv.pack()
root.mainloop()
8.移动item
from tkinter import *
root=Tk()
cv=Canvas(root)
rt1=cv.create_rectangle(10,10,110,110,tags=('r1','r2','r3'))
cv.create_rectangle(10,10,110,110,tags=('r1','r2','r3'))
cv.move(rt1,20,-10)
cv.pack()
root.mainloop()
9.删除item
from tkinter import *
root=Tk()
cv=Canvas(root)
rt1=cv.create_rectangle(10,10,110,110,tags=('r1','r2','r3'))
rt2=cv.create_rectangle(20,20,80,80,tags=('s1','s2','s3'))
cv.delete(rt1)
cv.delete('s1')
cv.pack()
网友评论