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 相关文章推荐
在Django的视图(View)外使用Session的方法
Jul 23 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
Python自动生产表情包
Mar 17 Python
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
对Python捕获控制台输出流的方法详解
Jan 07 Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 Python
python logging模块的使用总结
Jul 09 Python
Python使用scipy模块实现一维卷积运算示例
Sep 05 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
Python处理mysql特殊字符的问题
Mar 02 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
让Django的BooleanField支持字符串形式的输入方式
May 20 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中使用Oracle数据库(1)
2006/10/09 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
jQuery 表格工具集
2010/04/25 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
python中的decorator的作用详解
2018/07/26 Python
Python读取stdin方法实例
2019/05/24 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
购房意向书
2014/04/01 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
学校花圃的标语
2014/06/18 职场文书
诚信考试标语
2014/06/24 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
人民币使用说明书
2019/04/17 职场文书
公证书
2019/04/17 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书