python核心编程-GUI程序之偏函数应用

来源:互联网 发布:抢票的软件 编辑:程序博客网 时间:2024/06/06 00:10
#!/usr/bin/env python# -*- coding: UTF-8 -*- from functools import partial as ptofrom Tkinter import Tk, Button, Xfrom tkMessageBox import showinfo, showwarningWARN = 'warn'CRIT = 'crit'REGU = 'regu'SIGNS = {    'do not enter': CRIT,    'railroad crossing':WARN,    '55\nspeed limit':REGU,    'merging traffic':WARN,    'one way':REGU,}critCB = lambda: showerror('Error', 'Error Button Pressed!')warnCB = lambda: showwarning('Warning', 'Warning Button Pressed!')infoCB = lambda: showinfo('Info', 'Info Button Pressond!')top = Tk()top.title('Road Signs')Button(top, text='QUIT', command=top.quit, bg='red', fg='white').pack()MyButton = pto(Button, top)CritButton = pto(MyButton, command=critCB, bg='white', fg='red')WarnButton = pto(MyButton, command=warnCB, bg='goldenrod1')ReguButton = pto(MyButton, command=infoCB, bg='white')for eachSign in SIGNS:    signType = SIGNS[eachSign]    cmd = '%sButton(text=%r%s).pack(fill=X, expand=True)' % (signType.title(), eachSign, '.upper()' if signType == CRIT else '.title()')    print cmd    eval(cmd)top.mainloop()

输出:
这里写图片描述

0 0
原创粉丝点击