#!/usr/bin/python #coding: utf-8 # DESCRIPTION: display module for install (tk) # # SCRIPT NAME: ri_inst_tk.py # # MENTOR: Li Zhi # # AUTHOR: Ling Fen # # EMAIL: fling@linx-info.com # # DATE: 2010-09-20 # # HISTORY: # REVISOR DATE MODIFICATION # Ling Fen 2010-09-04 create # from Tkinter import * import tkMessageBox import os from ri_oper import language, Rate def set_task(task_name): lab_operation.configure(text=task_name) lab_operation.update() def set_sub_task(sub_task): txt_suboperation.insert(END,sub_task) txt_suboperation.see(END) def set_task_scale(): scl_progress.set(Rate.value) scl_progress.update() def set_task_over(): ret = tkMessageBox.askokcancel(title="Install",message="%s"%(language=='chinese' and "凝思磐石系统安装完成,请重新启动系统"or "Rocky system install completed,plase reboot")) return ret def root_destroy(): root.destroy() def error(oper, ret): if language == 'chinese': tkMessageBox.showerror('Error',u"%s:\n 错误值: %d\n %s"%(oper.chinese_name, ret, oper.return_value[ret][1])) else: tkMessageBox.showerror('Error',"%s:\n Error number: %d\n %s"%(oper.english_name, ret, oper.return_value[ret][0])) def start(func): root.protocol('WM_TAKE_FOCUS', func) root.mainloop() #root widget root = Tk() root.geometry("%sx%s+0+0" %(root.winfo_screenwidth(),root.winfo_screenheight())) root.title('Linx') # root subwidget stringvar_bar=StringVar() #label lab_task=Label(root,text='%s:'%(language=="chinese" and u"任务" or "Task")) lab_progress_bar=Label(root,text='%s:'%(language=="chinese" and u"进度" \ or 'Progress bar')) lab_operation=Label(root,text="") lab_linx=Label(root,text="Linx") txt_suboperation=Text(root,width=70,height=10) #operation lable and taskname lab_task.grid (row=1, column=0, sticky='SEW') lab_operation.grid (row=1, column=1, columnspan=2,sticky="S") txt_suboperation.grid(row=2, column=1,columnspan=2) lab_progress_bar.grid(row=3, column=0, sticky='NEW') lab_linx.grid (row=4, column=1, sticky='E') #logo photo_bm = PhotoImage(file="%s/../data/linxlogo.gif"\ %os.path.split(os.path.realpath(__file__))[0]) logo_label=Label(root,image=photo_bm) logo_label.grid(row=0,column=0,padx=50,pady=50,sticky='NW') #progress bar scl_progress=Scale(root,orient=HORIZONTAL,resolution=0.01,digits=4,from_=0,to=100,variable=stringvar_bar,label='%') scl_progress.grid(row=3,column=1,columnspan=2,sticky='NEW') #root root.rowconfigure(0,weight=1) root.rowconfigure(1,weight=1) root.rowconfigure(2,weight=1) root.rowconfigure(3,weight=1) root.rowconfigure(4,weight=1) root.columnconfigure(0,weight=1) root.columnconfigure(1,weight=1) root.columnconfigure(2,weight=1) root.columnconfigure(3,weight=1)