Canvas:
from tkinter import *
root = Tk()
root.config(bg='#8DB6CD')
root.title("基于tk得canvas几何图形")
root.geometry('500x400')
canvas = Canvas(root,width = 400,height = 400,bg='white')
x0,y0,x1,y1 = 10,10,80,80
arc = canvas.create_arc(x0,y0,x1,y1,start=0,extent =270,fill = '#B0E0E6',outline='blue',width = 2)
oval =canvas.create_oval(x0+150,y0,x1+150,y1,fill='#CD950C',outline='blue',width=2)
rect = canvas.create_rectangle(x0,y0+100,x1,y1+100,fill='red',outline='')
trigon = canvas.create_polygon(80,80,150,80,200,200,outline='',fill='green',)
poly_points=[(0,280),(140,200),(140,240),(270,240),(270,320),(140,320),(140,360)]
polygon = canvas.create_polygon(poly_points,fill="#BF3EFF")
canvas.pack()
root.mainloop()
Canvasimg:
from tkinter import *
root=Tk()
root.config(bg='#8DB6CD')
root.title("基于tk得图片文字")
root.geometry('600x600')
cv = Canvas(root,bg='white',width=500,height=500)
bitmaps = ["error","gray75","gray50","gray25","gray12","hourglass","info","questhead","question","warning"]
for i in range(len(bitmaps)):
cv.create_bitmap((i+1)*30,30,bitmap=bitmaps[i])
cv.create_text(30,60,text="tkinter内置位图预览",fill='#7CCD7C',anchor= W,font =('微软雅黑',15,'bold'))
img = PhotoImage(file=r"C:\Users\86138\Desktop\python\第7周\Stu_Pack/2.png")
cv.create_image(30,220,image= img,anchor=W)
cv.create_text(30,350,text="图片预览",fill='#7CCD7C',anchor = W,font=('微软雅黑',15,'bold'))
cv.pack()
mainloop()
FuncsMenu_3:
from tkinter import *
def hello1():
print('I am a child menu!')
def hello2():
print(v.get())
def popup(event):
m2.post(event.x_root,event.y_root)
def hello3():
print('我是剪切命令')
def hello4():
print('我是复制命令')
def hello5():
print('我是粘贴命令')
root=Tk()
root.geometry('400x400+280+280')
v=StringVar(root)
m1=Menu(root)
filemenu=Menu(m1)
editmenu=Menu(m1)
viewmenu=Menu(m1)
for item in ['打开','关闭','退出']:
filemenu.add_command(label=item,command=hello1)
for item in ['复制','剪切','粘贴']:
editmenu.add_command(label=item,command=hello1)
for item in ['代码','拆分','设计']:
viewmenu.add_command(label=item,command=hello1)
m1.add_cascade(label='文件',menu=filemenu)
m1.add_cascade(label='编辑',menu=editmenu)
m1.add_cascade(label='视图',menu=viewmenu)
filemenu.add_separator()
filemenu.add_checkbutton(label='自动保存',command=hello2,variable=v)
m2=Menu(root)
m2.add_command(label='剪切',command=hello3)
m2.add_command(label='复制',command=hello4)
m2.add_command(label='粘贴',command=hello5)
root.bind('<Button-3>',popup)
root['menu']=m1
root.mainloop()
grid布局:
from tkinter import *
root=Tk()
root.title('计算器示例----2021110201142庄乾坤')
root.geometry("300x150+280+280")
root.config(bg='#cc66ff')
L1=Button(root,text='1',width=5,bg='yellow')
L2=Button(root,text='2',width=5,bg='red')
L3=Button(root,text='3',width=5,bg='blue')
L4=Button(root,text='4',width=5,bg='blue')
L5=Button(root,text='5',width=5,bg='green')
L6=Button(root,text='6',width=5,bg='red')
L7=Button(root,text='7',width=5,bg='green')
L8=Button(root,text='8',width=5,bg='pink')
L9=Button(root,text='9',width=5,bg='blue')
L0=Button(root,text='0',width=5,bg='yellow')
Lp=Button(root,text='.',bg='pink')
L1.grid(row=0,column=0)
L2.grid(row=0,column=1)
L3.grid(row=0,column=2)
L4.grid(row=1,column=0)
L5.grid(row=1,column=1)
L6.grid(row=1,column=2)
L7.grid(row=2,column=0)
L8.grid(row=2,column=1)
L9.grid(row=2,column=2)
L0.grid(row=3,column=0)
Lp.grid(row=3,column=2)
L1.grid(row=0,column=0,sticky=E+W)
L2.grid(row=0,column=1,sticky=E+W)
L3.grid(row=0,column=2,sticky=E+W)
L4.grid(row=1,column=0,sticky=E+W)
L5.grid(row=1,column=1,sticky=E+W)
L6.grid(row=1,column=2,sticky=E+W)
L7.grid(row=2,column=0,sticky=E+W)
L8.grid(row=2,column=1,sticky=E+W)
L9.grid(row=2,column=2,sticky=E+W)
L0.grid(row=3,column=0,columnspan=2,sticky=E+W)
Lp.grid(row=3,column=2,sticky=E+W)
root.mainloop()
OptionMenu:
from tkinter import *
def ok():
print('value is',v.get())
root.quit()
root=Tk()
root.geometry('300x300+280+280')
v=StringVar(root)
v.set('Python')
om=OptionMenu(root,v,'Python','PHP','CPP','C','Java','JavaScript','VBScript')
om.pack()
button=Button(root,text='OK',command=ok)
button.pack()
root.mainloop()
pack布局:
import tkinter
root=tkinter.Tk()
root.geometry('300x200+300+300')
root.title('pack布局')
root.config(bg='#ccff00')
label=tkinter.Label(root,text='hello,python')
label.pack()
button1=tkinter.Button(root,text='BUTTON1')
button1.pack(side=tkinter.LEFT)
button2=tkinter.Button(root,text='BUTTON2')
button2.pack(side=tkinter.RIGHT)
root.mainloop()
place布局:
from tkinter import *
root = Tk()
root.title('登录')
root.geometry('400x200')
root.config(bg='#fffcc0')
def ok1():
print("这是OK1")
def ok2():
print("这是OK2")
Label(root,text='用户名',width=6).place(x=1,y=1)
Entry(root,width=20).place(x=45,y=1)
Label(root,text='密码',width=6).place(x=1,y=20)
Entry(root,width=20,show='*').place(x=45,y=20)
Button(root,text='登录',width=8,command=ok1).place(x=40,y=40)
Button(root,text='取消',width=8,command=ok2).place(x=110,y=40)
root.mainloop()
创建Window窗口:
import tkinter
root = tkinter.Tk()
root.title('我的第一个GUI程序')
root.mainloop()