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中的闭包实例详解
Aug 29 Python
Python 装饰器深入理解
Mar 16 Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
Python实战之制作天气查询软件
May 14 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
python 轮询执行某函数的2种方式
May 03 Python
keras中的backend.clip用法
May 22 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
python中的plt.cm.Paired用法说明
May 31 Python
python利用while求100内的整数和方式
Nov 07 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP下判断网址是否有效的代码
2011/10/08 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
理解python多线程(python多线程简明教程)
2014/06/09 Python
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python实现telnet服务器的方法
2015/07/10 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
python绘制双柱形图代码实例
2017/12/14 Python
django框架自定义用户表操作示例
2018/08/07 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
AJAX的优缺点都有什么
2015/08/18 面试题
银行门卫岗位职责
2013/12/29 职场文书
会走路的树教学反思
2014/02/20 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
2014年老干部工作总结
2014/11/21 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
团委副书记工作总结
2015/08/14 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书