#!/usr/bin/env python
#coding:gbk
#================================================================
#Name : Tkinter.py
#Desc : Tkinter
#Author : xxx
#Date : 20121214
#Modify :
#From :
#================================================================
import os
import sys
import time
from Tkinter import *
from tkMessageBox import showinfo,showwarning,showerror
from functools import partial as pto
WARN = 'warn'
CRIT = 'crit'
REGU = 'regu'
SIGNS = {'do not enter': CRIT,'railroad crossing': WARN,
'55\nspeed limit': REGU,'wrong way': CRIT,
'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 Pressed')
class BASE():
def __init__(self):
self.root = Tk()
self.root.geometry('800x600')
self.root.title('MySecond')
Button(self.root,text='QUIT',command=self.root.quit,bg='red',fg='white').pack()
self.MyButton = pto(Button,self.root)
def CreateGUI(self):
self.CritButton = pto(self.MyButton,command=critCB,bg='white',fg='red')
self.WarnButton = pto(self.MyButton,command=warnCB,bg='goldenrod1')
self.ReguButton = pto(self.MyButton,command=infoCB,bg='white')
def Work(self):
self.CreateGUI()
for eachSign in SIGNS:
signType=SIGNS[eachSign]
cmd = 'self.%sButton(text=%r%s).pack(fill=X,expand=True)'%(
signType.title(),eachSign,
'.upper()' if signType == CRIT else '.title()')
eval(cmd)
self.root.mainloop()
if __name__ == '__main__':
base = BASE()
base.Work()