python做简单的界面_python3使用tkinter实现ui界面简单实例

20140110102922.jpg?2014010103012

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, 'DLLs\pyc.ico')

w.stoIco = os.path.join(sys.exec_prefix, 'DLLs\py.ico')

w.loop()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值