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之禅》中对于Python编程过程中的一些建议
Apr 03 Python
vscode 远程调试python的方法
Dec 01 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
Jan 09 Python
pandas series序列转化为星期几的实例
Apr 11 Python
Python迭代器定义与简单用法分析
Apr 30 Python
python使用tornado实现简单爬虫
Jul 28 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 Python
增大python字体的方法步骤
Jul 05 Python
python的netCDF4批量处理NC格式文件的操作方法
Mar 21 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实现登陆验证码(类似条行码状)
2006/10/09 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP查询网站的PR值
2013/10/30 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
深入解读Python解析XML的几种方式
2016/02/16 Python
python字典的常用操作方法小结
2016/05/16 Python
Python selenium文件上传方法汇总
2020/11/19 Python
Python用threading实现多线程详解
2017/02/03 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
python实现对变位词的判断方法
2020/04/05 Python
初学者学习Python好还是Java好
2020/05/26 Python
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
台湾家适得:Homeget
2019/02/11 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
八年级语文教学反思
2014/02/11 职场文书
市级文明单位申报材料
2014/05/07 职场文书
村创先争优活动总结
2014/08/28 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
新员工入职欢迎词
2015/01/23 职场文书
2015年社区统计工作总结
2015/04/21 职场文书