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中随机函数random用法实例
Apr 30 Python
python计算文本文件行数的方法
Jul 06 Python
ubuntu安装sublime3并配置python3环境的方法
Mar 15 Python
对Python捕获控制台输出流的方法详解
Jan 07 Python
python读写csv文件实例代码
Jul 05 Python
详解python实现交叉验证法与留出法
Jul 11 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
Python实现投影法分割图像示例(二)
Jan 17 Python
pycharm新建Vue项目的方法步骤(图文)
Mar 04 Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 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
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
完美解决IE不支持Data.parse()的问题
2016/11/24 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
iview同时验证多个表单问题总结
2018/09/29 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
python3 深浅copy对比详解
2019/08/12 Python
python range实例用法分享
2020/02/06 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
python处理写入数据代码讲解
2020/10/22 Python
写得不错的求职信范文
2014/07/11 职场文书
求职意向书
2014/07/29 职场文书
个人工作表现评价材料
2014/09/21 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
婚礼新人答谢词
2015/01/04 职场文书
安阳殷墟导游词
2015/02/10 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书