python3使用tkinter实现ui界面简单实例
更新时间:2014年01月10日 10:33:04 作者:
使用tkinter创建一个小窗口,布置2个按钮,一个btn关闭窗口,另一个btn用于切换执行传入的2个函数,简单的小代码,大家参考使用吧
复制代码 代码如下:
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()
相关文章
如何用Python中Tushare包轻松完成股票筛选(详细流程操作)
这篇文章主要介绍了如何用Python中Tushare包轻松完成股票筛选(详细流程操作),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
今天小编就为大家分享一篇对python 数据处理中的LabelEncoder 和 OneHotEncoder详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-07-07Python sqlalchemy时间戳及密码管理实现代码详解
这篇文章主要介绍了Python sqlalchemy时间戳及密码管理实现代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-08-08
最新评论