孢子气囊 tkinter控制台

模块:

tkinter

time

randon

serial(可以用串口连接)

#import serial
import tkinter
import tkinter.ttk
import time
import random
#ser=serial.Serial('COM6',9600,timeout=1)
'''while True:
    val=ser.readline().decode('utf-8')
    print(val)
    '''


#可改变量:.
FPS=500#(刷新速度)
FPS_kaitou=100#(开头播放速度 刘建议‘这个乘下面那个=100’ 越小片头播放越快)
kaitou_cishu=1#(开头播放次数)
tem_first=25
canvas_tem_color1='lime'
canvas_tem_color2='yellow'
canvas_tem_color3='coral'
canvas_bg='cyan'
outline_color='royalblue'
#总宽150 高40
top=tkinter.Tk()
top.title('控制台')
image_bqb=tkinter.PhotoImage(file='_`SFVS~~KQWHBSA(VSQVXEJ.gif')
image_no_link=tkinter.PhotoImage(file='13333333(1).gif')
image_link=tkinter.PhotoImage(file='1222222(2).gif')
image_logo=tkinter.PhotoImage(file='logo.gif')
#设置变量
tem_list=[1,1,1,1]
tem_canvas=[1,2,3,4]
tem_qinang_1=tem_first
tem_qinang_2=tem_first
tem_qinang_3=tem_first
tem_qinang_4=tem_first
start=1
tem_max=100
start_2=1
start_tem_list=[1,1,1,1]
kaitou=0
start_kaitou=1
start_FPS_save=0



def button_start():
    global start_2
    start_2=2
    frame2.focus_set()

def button_close():
    global start_2
    start_2=1
    
def button_1_cold():
    start_tem_list[0]=2
def button_1_start():
    start_tem_list[0]=1
    
def button_2_cold():
    start_tem_list[1]=2
def button_2_start():
    start_tem_list[1]=1
    
def button_3_cold():
    start_tem_list[2]=2
def button_3_start():
    start_tem_list[2]=1
    
def button_4_cold():
    start_tem_list[3]=2
def button_4_start():
    start_tem_list[3]=1

def bule_tooth_link():
    time.sleep(3)
    label_button['image']=image_link


    
#加组件
frame0=tkinter.LabelFrame(top,bd=3,text='信息')
label_image=tkinter.Label(frame0,bg='white',image=image_bqb)
label_text=tkinter.Label(frame0,height=4,width=86,bg='#00FF7F',text='当前状态:正常运行',font=('Arial','12'))
label_text2=tkinter.Label(frame0,width=20)

frame1=tkinter.LabelFrame(top,bd=3, relief='ridge',text='空间')#边框左
label_botelv=tkinter.Label(frame1,text='波特率:')
entry_botelv=tkinter.Entry(frame1)
label_jiekou=tkinter.Label(frame1,height=3,width=20,text='接口')
combobox_jiekou=tkinter.ttk.Combobox(frame1)
combobox_jiekou['value']=('com6','com7')
label_button=tkinter.Button(frame1,height=100,image=image_no_link,command=bule_tooth_link)
button_start=tkinter.Button(frame1,height=3,width=20,text='全部开始',command=button_start)
button_close=tkinter.Button(frame1,height=3,width=20,text='全部结束',command=button_close)
label_image2=tkinter.Label(top,image=image_logo)


frame2=tkinter.LabelFrame(top,bd=3,relief='ridge',text='显示台')
label_1_tem=tkinter.Label(frame2,height=4,width=15,text='温度',bg='white')
label_2_tem=tkinter.Label(frame2,height=4,width=15,text='温度',bg='white')
label_3_tem=tkinter.Label(frame2,height=4,width=15,text='温度',bg='white')
label_4_tem=tkinter.Label(frame2,height=4,width=15,text='温度',bg='white')
canvas_1=tkinter.Canvas(frame2,height=300,width=100,bg=canvas_bg,relief='ridge')
canvas_2=tkinter.Canvas(frame2,height=300,width=100,bg=canvas_bg)
canvas_3=tkinter.Canvas(frame2,height=300,width=100,bg=canvas_bg)
canvas_4=tkinter.Canvas(frame2,height=300,width=100,bg=canvas_bg)
button_1_cold=tkinter.Button(frame2,height=2,width=10,text='冷却',command=button_1_cold)
button_1_start=tkinter.Button(frame2,height=2,width=10,text='开始',command=button_1_start)
button_2_cold=tkinter.Button(frame2,height=2,width=10,text='冷却',command=button_2_cold)
button_2_start=tkinter.Button(frame2,height=2,width=10,text='开始',command=button_2_start)
button_3_cold=tkinter.Button(frame2,height=2,width=10,text='冷却',command=button_3_cold)
button_3_start=tkinter.Button(frame2,height=2,width=10,text='开始',command=button_3_start)
button_4_cold=tkinter.Button(frame2,height=2,width=10,text='冷却',command=button_4_cold)
button_4_start=tkinter.Button(frame2,height=2,width=10,text='开始',command=button_4_start)









#组件推进到top
frame0.grid(row=1,column=1,columnspan=15)
#label_image.grid(row=1,column=1,columnspan=5)
label_text.grid(row=1,column=1)
label_text.grid(row=2,column=1)


frame1.grid(row=2,column=2,columnspan=3,rowspan=6)

label_botelv.grid(row=1,column=1,pady=10)
entry_botelv.grid(row=2,column=1)
label_jiekou.grid(row=3,column=1)
combobox_jiekou.grid(row=4,column=1)
label_button.grid(row=5,column=1)
button_start.grid(row=6,column=1,columnspan=2)
button_close.grid(row=7,column=1,columnspan=2)


label_image2.grid(row=8,column=0,columnspan=5,rowspan=5)


frame2.grid(row=2,column=5,rowspan=15,columnspan=15)
label_1_tem.grid(row=2,column=5,columnspan=2,ipady=5,pady=10,padx=20)
label_2_tem.grid(row=2,column=7,columnspan=2,ipady=5,pady=10,padx=20)
label_3_tem.grid(row=2,column=9,columnspan=2,ipady=5,pady=10,padx=20)
label_4_tem.grid(row=2,column=11,columnspan=2,ipady=5,pady=10,padx=20)
canvas_1.grid(row=3,column=5,rowspan=3,columnspan=2,ipady=5,pady=10,padx=20)
canvas_2.grid(row=3,column=7,rowspan=3,columnspan=2,ipady=5,pady=10,padx=20)
canvas_3.grid(row=3,column=9,rowspan=3,columnspan=2,ipady=5,pady=10,padx=20)
canvas_4.grid(row=3,column=11,rowspan=3,columnspan=2,ipady=5,pady=10,padx=20)
button_1_cold.grid(row=6,column=5,columnspan=2,ipady=5,pady=10)
button_1_start.grid(row=7,column=5,columnspan=2,ipady=5,pady=10)
button_2_cold.grid(row=6,column=7,columnspan=2,ipady=5,pady=10)
button_2_start.grid(row=7,column=7,columnspan=2,ipady=5,pady=10)
button_3_cold.grid(row=6,column=9,columnspan=2,ipady=5,pady=10)
button_3_start.grid(row=7,column=9,columnspan=2,ipady=5,pady=10)
button_4_cold.grid(row=6,column=11,columnspan=2,ipady=5,pady=10)
button_4_start.grid(row=7,column=11,columnspan=2,ipady=5,pady=10)



#非按钮函数:
def get_tem():
    #print('start={0}'.format(start))
    if start==0:
        global tem_qinang_1
        global tem_qinang_2
        global tem_qinang_3
        global tem_qinang_4
        '''
        if start_tem_list[0]==1:
            tem_qinang_1+=5
        if start_tem_list[1]==1:
            tem_qinang_2+=5
        if start_tem_list[2]==1:
            tem_qinang_3+=5
        if start_tem_list[3]==1:
            tem_qinang_4+=5
        '''
        


    
def label_tem_change():
    label_1_tem['text']='温度:{0}'.format(tem_qinang_1)
    label_2_tem['text']='温度:{0}'.format(tem_qinang_2)
    label_3_tem['text']='温度:{0}'.format(tem_qinang_3)
    label_4_tem['text']='温度:{0}'.format(tem_qinang_4)


#画布
def canvas_change():
    global kaitou
    global FPS
    global start_kaitou
    global start_FPS_save
    a=kaitou
    global start
    global tem_qinang_1
    global tem_qinang_2
    global tem_qinang_3
    global tem_qinang_4
    global kaitou_cishu
    if start_kaitou==1:
        start_FPS_save=FPS
        FPS=FPS_kaitou
        start_kaitou=0
    if start==1:
        while kaitou>-1:
        #开头
            while a<20:
                i=a
                if i<10:
                    tem_qinang_1=(i+2)*10
                if i>8:
                    tem_qinang_1=(19-i)*10-10
                tem_qinang_2=tem_qinang_3=tem_qinang_4=tem_qinang_1
                if i<10:
                    if i<4:
                        canvas_1.create_rectangle(3,(10-a)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
                        canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
                        canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
                        canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
                    elif i<7:
                        canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
                        canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
                        canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
                        canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
                    else :
                        canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)
                        canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)
                        canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)
                        canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)
                    
                else:
                    i=19-i
                    if i<4:
                        canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                    elif i<7:
                        canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                    else :
                        canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                        canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_bg,outline=outline_color)
                
                '''
                i=19-i
                if i==10:
                    tem_qinang_1=tem_qinang_1-10
                if i<10:
                    tem_qinang_1=qinang_1-20
                tem_qinang_1=tem_qinang_2=tem_qinang_3=tem_qinang_4'''
                if a==19:
                    kaitou_cishu=kaitou_cishu-1
                    kaitou=-1
                    if kaitou_cishu<=0:
                        start=0
                        FPS=start_FPS_save
                    canvas_1.delete(tkinter.ALL)
                    canvas_2.delete(tkinter.ALL)
                    canvas_3.delete(tkinter.ALL)
                    canvas_4.delete(tkinter.ALL)
                    tem_qinang_1=tem_first
                    tem_qinang_2=tem_first+2
                    tem_qinang_3=tem_first+3
                    tem_qinang_4=tem_first+1
                kaitou=kaitou+1
                return
    tem_canvas[0]=int(tem_qinang_1/10)
    tem_canvas[1]=int(tem_qinang_2/10)
    tem_canvas[2]=int(tem_qinang_3/10)
    tem_canvas[3]=int(tem_qinang_4/10)
    '''
    if tem_qinang_1==100:
        tem_canvas[0]=10
    if tem_qinang_2==100:
        tem_canvas[1]=10
    if tem_qinang_3==100:
        tem_canvas[2]=10
    if tem_qinang_4==100:
        tem_canvas[3]=10'''
    canvas_1.delete(tkinter.ALL)
    canvas_2.delete(tkinter.ALL)
    canvas_3.delete(tkinter.ALL)
    canvas_4.delete(tkinter.ALL)
    for j in range(10):
            canvas_1.create_rectangle(3,(10-j)*30-25,99,(10-j+1)*30-19,fill=canvas_bg,outline=outline_color)
            canvas_2.create_rectangle(3,(10-j)*30-25,99,(10-j+1)*30-19,fill=canvas_bg,outline=outline_color)
            canvas_3.create_rectangle(3,(10-j)*30-25,99,(10-j+1)*30-19,fill=canvas_bg,outline=outline_color)
            canvas_4.create_rectangle(3,(10-j)*30-25,99,(10-j+1)*30-19,fill=canvas_bg,outline=outline_color)
    for i in range(tem_canvas[0]):
        
        if i<4:
                canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
        elif i<7:
                canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
        else :
                canvas_1.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)

    for i in range(tem_canvas[1]):
        if i<4:
                canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
        elif i<7:
                canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
        else :
                canvas_2.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)

    for i in range(tem_canvas[2]):
        if i<4:
                canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
        elif i<7:
                canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
        else :
                canvas_3.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)

    for i in range(tem_canvas[3]):
        if i<4:
                canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color1,outline=outline_color)
        elif i<7:
                canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color2,outline=outline_color)
        else :
                canvas_4.create_rectangle(3,(10-i)*30-25,99,(10-i+1)*30-19,fill=canvas_tem_color3,outline=outline_color)
#按钮
#botelv=entry_botelv.get()
#jiekou=combobox_jiekou.get()


def human_change_tem(event):
    global tem_qinang_1
    global tem_qinang_2
    global tem_qinang_3
    global tem_qinang_4
    if event.keysym=='q':
        #print(1)
        tem_qinang_1=tem_qinang_1+random.randint(1,3)
    elif event.keysym=='w':
        tem_qinang_2=tem_qinang_2+random.randint(1,3)   
    elif event.keysym=='e':
        tem_qinang_3=tem_qinang_3+random.randint(1,3)
    elif event.keysym=='r':
        tem_qinang_4=tem_qinang_4+random.randint(1,3)

    elif event.keysym=='a':
        tem_qinang_1=tem_qinang_1-random.randint(1,3)
    elif event.keysym=='s':
        tem_qinang_2=tem_qinang_2-random.randint(1,3)
    elif event.keysym=='d':
        tem_qinang_3=tem_qinang_3-random.randint(1,3)
    elif event.keysym=='f':
        tem_qinang_4=tem_qinang_4-random.randint(1,3)









def tkinter_loop():
    top.update()
    if start_2==2:
        
        get_tem()
        label_tem_change()
        canvas_change()
        #print(tem_qinang_1)
        #print('正常运行')
    #print(FPS)
    top.after(FPS,tkinter_loop)


frame2.bind('<KeyPress-q>',human_change_tem)
frame2.bind('<KeyPress-w>',human_change_tem)
frame2.bind('<KeyPress-e>',human_change_tem)
frame2.bind('<KeyPress-r>',human_change_tem)
frame2.bind('<KeyPress-a>',human_change_tem)
frame2.bind('<KeyPress-s>',human_change_tem)
frame2.bind('<KeyPress-d>',human_change_tem)
frame2.bind('<KeyPress-f>',human_change_tem)


top.update()
frame2.focus_set()
top.after(FPS,tkinter_loop)
top.mainloop()



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值