python3使用tkinter实现ui界面简单实例


Posted in Python onJanuary 10, 2014

python3使用tkinter实现ui界面简单实例

import time
import tkinter as tkclass 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 相关文章推荐
python实现的一个火车票转让信息采集器
Jul 09 Python
Python实现查看系统启动项功能示例
May 10 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
Python 字符串换行的多种方式
Sep 06 Python
Python解析Excle文件中的数据方法
Oct 23 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
python调用外部程序的实操步骤
Mar 04 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
Python中三维坐标空间绘制的实现
Sep 22 Python
python构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 #Python
python中mechanize库的简单使用示例
Jan 10 #Python
python使用新浪微博api上传图片到微博示例
Jan 10 #Python
python发腾讯微博代码分享
Jan 10 #Python
python实现2014火车票查询代码分享
Jan 10 #Python
python抓取豆瓣图片并自动保存示例学习
Jan 10 #Python
python文件比较示例分享
Jan 10 #Python
You might like
php生成excel列序号代码实例
2013/12/24 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
Python数据结构之Array用法实例
2014/10/09 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
python实现画出e指数函数的图像
2019/11/21 Python
Python 定义只读属性的实现方式
2020/03/05 Python
Python实现手绘图效果实例分享
2020/07/22 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
软件测试面试题
2015/10/21 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
简短的公司员工自我评价分享
2013/11/13 职场文书
护士自我评价范文
2014/01/25 职场文书
植树造林的宣传标语
2014/06/23 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
主题班会开场白
2015/06/01 职场文书