• python: tk demo


    # coding=utf-8
    
    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, width=15, 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()
      
        
    ########################################################################
  • 相关阅读:
    es6---let和const
    node.js开发指南系列(1)partial is not defined
    input唤起键盘影响移动端底部fixed定位
    vue滑动吸顶以及锚点定位
    nodejs开发准备工作(2)
    nodejs开发准备工作(1)
    php基础小知识
    php基础
    git基础
    ps基础
  • 原文地址:https://www.cnblogs.com/soul-stone/p/6916626.html
Copyright © 2020-2023  润新知