import tkinter as tk
import tkinter.messagebox
window=tk.Tk()
window.title('简单控制系统')
window.geometry('800x450')
canvas=tk.Canvas(window,height=100,width=150)
image_file=tk.PhotoImage(file='ins2.gif')
image=canvas.create_image(500,400,anchor='nw',image=image_file)
canvas.pack(side='bottom')
L=tk.Label(window,bg='yellow',width=40,height=2,text='默认东西车流量为南北车流量一半')
L.pack()
tk.Label(window,bg='red',width=20,height=1,text='信号周期 秒').place(x=25,y=50,width=150)
var1=tk.StringVar()
l1=tk.Label(window,bg='white',width=15,text='请选择')
l1.place(x=180,y=50)
def print_selection():
l1.config(text='你选择了'+var1.get()+'s')
a1=120
a2=100
a3=80
r1=tk.Radiobutton(window,text='120s',variable=var1,value=str(a1),command=print_selection).place(x=180,y=75)
r2=tk.Radiobutton(window,text='100s',variable=var1,value=str(a2),command=print_selection).place(x=180,y=100)
r3=tk.Radiobutton(window,text='80s',variable=var1,value=str(a3),command=print_selection).place(x=180,y=125)
tk.Label(window,bg='red',width=20,height=1,text='南北方向车流量 辆/小时').place(x=25,y=150,width=150)
var2=tk.StringVar()
l2=tk.Label(window,bg='white',width=15,height=1,text='waiting')
l2.place(x=180,y=150)
def print_selection(v1):
l2.config(text='你选择了'+v1)
global k1
k1=int(v1)
s1=tk.Scale(window,label='滑动拖块确定取值',from_=400,to=1200,orient=tk.HORIZONTAL,length=300,showvalue=0,tickinterval=100,
resolution=100,command=print_selection).place(x=180,y=175)
tk.Label(window,bg='red',width=20,height=1,text='南北方向转弯比例 %').place(x=25,y=250,width=150)
var3=tk.StringVar()
l3=tk.Label(window,bg='white',width=15,height=1,text='观测估计值')
l3.place(x=180,y=250)
def print_selection(v2):
global k2
k2=int(v2)
l3.config(text='你选择了'+v2+'%')
s2=tk.Scale(window,label='滑动拖块确定百分比',from_=10,to=50,orient=tk.HORIZONTAL,length=300,showvalue=0,tickinterval=10,
resolution=10,command=print_selection).place(x=180,y=275)
l4=tk.Label(window,bg='green',width=100,height=4,text='计算公式:直行车辆数=3600x[(绿灯时间-反应时间)/间隔时间+1]x通行系数/信号周期',
font=('Arial',12)).place(x=0,y=350)
l5=tk.Label(window,bg='red',width=30,height=8,text='',font=('Arial',12))
l5.place(x=520,y=60)
def jump_info():
l5.config(text='通行规则:\n'
'南北方向先亮直行绿灯,其余红灯;\n'
'然后亮左转绿灯,其余红灯;\n'
'然后东西方向亮直行绿灯,其余红灯\n')
m=int(str(var1.get()))
m1=m*2/3
m=int(m)
m1=int(m1)
s=k1*m1
s=s/(0.9*3600)
s=s-1
s=s*2.5+2.3
a=int(s)
b = k2*m1/100
a1 = int(a * m1 / (a + b))
b1 = int(b * m1/ (a + b))
c=int(m1/2)
tk.messagebox.showinfo(title='点击确认',message='南北绿灯{0}s,\n 南北转向{1}s,\n 东西直行{2}s'.format(a1,b1,c))
B=tk.Button(window,text='点击确认',width=20,height=5,bg='grey',command=jump_info)
B.place(x=590,y=240)
window.mainloop()