#pywb.py 应用示例 交互绘制椭圆
from tkinter import *
rt=Tk()
rt.title('HX-交互绘制椭圆')
w=Canvas(rt,width=400,height=400,background='white')
w.pack()
def point(event):
#event.x 鼠标左键的横坐标
#event.y 鼠标左键的纵坐标
x1,y1=(event.x-5),(event.y-5)
x2,y2=(event.x+5),(event.y+5)
w.create_oval(x1,y1,x2,y2,fill='red')
def paint(event):
x1,y1=(event.x-5),(event.y-5)
x2,y2=(event.x+5),(event.y+5)
w.create_oval(x1,y1,x2,y2,fill='red')
#单击鼠标左键,画出一个小圆
#画布与鼠标左键进行绑定
w.bind("<Button-1>",point)
w.bind("<B1-Motion>",paint)
rt.mainloop()
# 示例 btmove.py
import tkinter as tt
import time
def popwin():
for i in range(420):
bt.place(x=i,y=180)
time.sleep(0.002)
rt.update()
rt=tt.Tk(className='欢迎')
rt.geometry('500x400+300+200')
bt=tt.Button(rt,text='单击移动 欢迎您!',width=16,command=popwin)
bt.pack()
bt.place(x=220,y=180)
rt.mainloop()
# '简易计算器' Cala.py
from tkinter import *
rt=Tk()
rt.title('简易计算器')
rt.minsize(280,360)
ret1=StringVar()
ret1.set(0)
ret2=StringVar()
ret2.set('')
#显示
label1=Label(rt,font=('微软雅黑',19),bg='#EEEEEE',
bd ='9',fg='#888888',anchor='se',textvariable=ret2)
label1.place(y=-120,width=280,height=170)
label2=Label(rt,font=('微软雅黑',19),bg='#EEEEEE',
bd ='9',fg='black',anchor='se',textvariable=ret1)
label2.place(y=45,width=280,height=40)
#数字键
btn7=Button(rt,text='7',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('7'))
btn7.place(x=0,y=140,width=70,height=55)
btn8=Button(rt,text='8',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('8'))
btn8.place(x=70,y=140,width=70,height=55)
btn9=Button(rt,text='9',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('9'))
btn9.place(x=140,y=140,width=70,height=55)
btn4=Button(rt,text='4',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('4'))
btn4.place(x=0,y=195,width=70,height=55)
btn5=Button(rt,text='5',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('5'))
btn5.place(x=70,y=195,width=70,height=55)
btn6=Button(rt,text='6',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('6'))
btn6.place(x=140,y=195,width=70,height=55)
btn1=Button(rt,text='1',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('1'))
btn1.place(x=0,y=250,width=70,height=55)
btn2=Button(rt,text='2',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('2'))
btn2.place(x=70,y=250,width=70,height=55)
btn3=Button(rt,text='3',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('3'))
btn3.place(x=140,y=250,width=70,height=55)
btn0=Button(rt,text='0',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda : pnum('0'))
btn0.place(x=70,y=305,width=70,height=55)
#运算符号
btnac=Button(rt,text='Ac',bd=0.5,font=('黑体',20),fg='#5E5E5E',
command=lambda :pcom('Ac'))
btnac.place(x=0,y=85,width=70,height=55)
btnback=Button(rt,text='←',font=('微软雅黑',19),fg='#5E5E5E',
bd=0.5,command=lambda:pcom('b'))
btnback.place(x=70,y=85,width=70,height=55)
btndivi=Button(rt,text='÷',font=('微软雅黑',19),fg='#5E5E5E',
bd=0.5,command=lambda:pcom('/'))
btndivi.place(x=140,y=85,width=70,height=55)
btnmul=Button(rt,text ='×',font=('微软雅黑',19),fg="#5E5E5E",
bd=0.5,command=lambda:pcom('*'))
btnmul.place(x=210,y=85,width=70,height=55)
btnsub=Button(rt,text='-',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda:pcom('-'))
btnsub.place(x=210,y=140,width=70,height=55)
btnadd=Button(rt,text='+',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda:pcom('+'))
btnadd.place(x=210,y=195,width=70,height=55)
btnequ=Button(rt,text='=',bg='#DDDDDD',font=('微软雅黑',20),
fg=('#5E5E5E'),bd=0.5,command=lambda :pequ())
btnequ.place(x=210,y=250,width=70,height=110)
btnper=Button(rt,text='%',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda:pcom('%'))
btnper.place(x=0,y=305,width=70,height=55)
btnpoint=Button(rt,text='.',font=('微软雅黑',19),fg=('#5E5E5E'),
bd=0.5,command=lambda:pcom('.'))
btnpoint.place(x=140,y=305,width=70,height=55)
lists=[]
presig=False
isprenum=False
#按键
def pnum(num):
global lists
global presig
if presig==False:
pass
else:
ret1.set(0)
presig=False
old=ret1.get()
if old=='0':
ret1.set(num)
else:
new=old+num
ret1.set(new)
#运算
def pcom(sig):
global lists
global presig
num=ret1.get()
lists.append(num)
lists.append(sig)
presig=True
if sig =='Ac':
lists.clear()
ret1.set(0)
if sig =='b':
a=num[0:-1]
lists.clear()
ret1.set(a)
#结果
def pequ():
global lists
global presig
curnum=ret1.get()
lists.append(curnum)
comstr=''.join(lists)
endnum=eval(comstr)
ret1.set(endnum)
ret2.set(comstr)
lists.clear()
rt.mainloop()

