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 21 Python
Python2.x版本中maketrans()方法的使用介绍
May 19 Python
python实现实时监控文件的方法
Aug 26 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
Jan 18 Python
Python requests库用法实例详解
Aug 14 Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 Python
Tesserocr库的正确安装方式
Oct 19 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
Python使用正则实现计算字符串算式
Dec 29 Python
Python实现爬取网页中动态加载的数据
Aug 17 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 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
C# Assembly类访问程序集信息
2009/06/13 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
浅析Python中else语句块的使用技巧
2016/06/16 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
python 文件转成16进制数组的实例
2018/07/09 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
python制作简单五子棋游戏
2019/06/18 Python
python多进程间通信代码实例
2019/09/30 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
python实现按日期归档文件
2021/01/30 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
初婚未育证明
2014/01/15 职场文书
总经理助理职责
2014/02/04 职场文书
中介业务员岗位职责
2014/04/09 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
担保贷款承诺书
2015/04/30 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书