python tk模块 小作业

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()

#   PART1:Radiobutton,确定信号时长
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)

#结束

#PART2:
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)
#Scale组件


#
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()))
    #总信号周期m
    m1=m*2/3
    #南北方向信号周期m1
    m=int(m)
    m1=int(m1)
    s=k1*m1
    s=s/(0.9*3600)
    s=s-1
    s=s*2.5+2.3
   #s表示未保留有效数字的值
    a=int(s)
    # ((k1*m1/(0.9*3600))-1)*2.5+2.3)  
    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()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值