偏函数应用举例:路灯指示牌
1 #!/usr/bin/env python 2 # _*_coding:utf-8_*_ 3 # 红绿灯练习:按照指示类型创建适当当景、背景色的路灯指示牌 4 from functools import partial as pto 5 from tkinter import Tk, Button,X 6 from tkinter.messagebox import showinfo,showwarning,showerror 7 WARN = 'warn' 8 CRIT = 'crit' 9 REGU = 'regu' 10 11 SIGNS = { 12 'do not enter':CRIT, 13 'railroad crossing':WARN, 14 '55\\nspeed limit':REGU, 15 'wrong way': CRIT, 16 'merging traffic': WARN, 17 'one way': REGU, 18 } 19 20 critCB = lambda: showerror('Error','Error Button Pressed!') 21 warnCB = lambda: showwarning('Warning','Warning Button Pressed!') 22 infoCB = lambda: showinfo('Info','Info Button Pressed!') 23 24 25 root = Tk() 26 root.geometry('800x400') 27 root. ('Road Signs') 28 Button(root,text='QUIT',command=root.quit,bg='red',fg='white').pack() 29 30 31 MyButton = pto(Button,root) 32 CritButton = pto(MyButton,command=critCB,bg='white',fg='red') 33 WarnButton = pto(MyButton,command = warnCB,bg = 'goldenrod1') 34 ReguButton = pto(MyButton,command = infoCB,bg = 'white') 35 36 for eachSign in SIGNS: 37 signType = SIGNS[eachSign] 38 cmd = '%sButton(text = %r%s).pack(fill = X,expand = True)' %( 39 signType. (),eachSign,'.upper()' if signType == CRIT else '. ()' 40 ) 41 eval(cmd) 42 43 root.mainloop()
继续阅读与本文标签相同的文章
-
在AlibabaCloud上,如何使用AD FS进行 【角色SSO】 并完成在容器服务ACK集群中的身份验证
2026-05-19栏目: 教程
-
骚操作 !用 Python 偷偷抓取女朋友的行踪(女朋友在哪里)
2026-05-19栏目: 教程
-
受用一生的高效 PyCharm 使用技巧(五)
2026-05-19栏目: 教程
-
阿里云服务器从购买到入门使用流程 新手必看教程
2026-05-19栏目: 教程
-
2019云栖大会,智能视频云专场硬核分享来了!
2026-05-19栏目: 教程
