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中的各种装饰器详解
Apr 11 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
python生成词云的实现方法(推荐)
Jun 13 Python
python数据封装json格式数据
Mar 04 Python
python实现最小二乘法线性拟合
Jul 19 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
python日期与时间戳的各种转换示例
Feb 12 Python
Python装饰器用法与知识点小结
Mar 09 Python
Python使用Paramiko控制liunx第三方库
May 20 Python
详解Python中的Lock和Rlock
Jan 26 Python
进行数据处理的6个 Python 代码块分享
Apr 06 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超级全局变量
2010/01/26 PHP
php 生成短网址原理及代码
2014/01/23 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
python实现绘制树枝简单示例
2014/07/24 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python实现抢购IPhone手机
2018/02/07 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
python3判断url链接是否为404的方法
2018/08/10 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
flask session组件的使用示例
2018/12/25 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
销售个人求职信范文
2014/04/28 职场文书
业务内勤岗位职责
2014/04/30 职场文书
项目工作说明书
2014/07/29 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
小学感恩节活动总结
2015/03/24 职场文书
趣味运动会标语口号
2015/12/26 职场文书