您的位置:首页 > 编程语言 > Python开发

Python: Tkinter实现GUI界面

2012-12-14 15:07 756 查看
#!/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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: