python3使用tkinter实现ui界面简单实例
发布时间:2020-12-16 21:08:35 所属栏目:Python 来源:网络整理
导读:复制代码 代码如下: import time import tkinter as tk class Window: def __init__(self,title='nms',width=300,height=120,staFunc=bool,stoFunc=bool): self.w = width self.h = height self.stat = True self.staFunc = staFunc self.stoFunc = stoFunc
复制代码 代码如下: import time import tkinter as tk class Window: def __init__(self,title='nms',width=300,height=120,staFunc=bool,stoFunc=bool): self.w = width self.h = height self.stat = True self.staFunc = staFunc self.stoFunc = stoFunc self.staIco = None self.stoIco = None self.root = tk.Tk(className=title) def center(self): ws = self.root.winfo_screenwidth() hs = self.root.winfo_screenheight() x = int( (ws/2) - (self.w/2) ) y = int( (hs/2) - (self.h/2) ) self.root.geometry('{}x{}+{}+{}'.format(self.w,self.h,x,y)) def packBtn(self): self.btnSer = tk.Button(self.root,command=self.event,width=15,height=3) self.btnSer.pack(padx=20,side='left') btnQuit = tk.Button(self.root,text='关闭窗口',command=self.root.quit,height=3) btnQuit.pack(padx=20,side='right') def event(self): self.btnSer['state'] = 'disabled' if self.stat: if self.stoFunc(): self.btnSer['text'] = '启动服务' self.stat = False self.root.iconbitmap(self.stoIco) else: if self.staFunc(): self.btnSer['text'] = '停止服务' self.stat = True self.root.iconbitmap(self.staIco) self.btnSer['state'] = 'active' def loop(self): self.root.resizable(False,False) #禁止修改窗口大小 self.packBtn() self.center() #窗口居中 self.event() self.root.mainloop() ######################################################################## def sta(): print('start.') return True def sto(): print('stop.') return True if __name__ == '__main__': import sys,os w = Window(staFunc=sta,stoFunc=sto) w.staIco = os.path.join(sys.exec_prefix,'DLLspyc.ico') w.stoIco = os.path.join(sys.exec_prefix,'DLLspy.ico') w.loop() 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |