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 相关文章推荐
Python3基础之list列表实例解析
Aug 13 Python
numpy自动生成数组详解
Dec 15 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
Jun 14 Python
python实现机器学习之元线性回归
Sep 06 Python
python如果快速判断数字奇数偶数
Nov 13 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
python opencv pytesseract 验证码识别的实现
Aug 28 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
python语言实现贪吃蛇游戏
Nov 13 Python
python实现图片,视频人脸识别(opencv版)
Nov 18 Python
浅谈Python数学建模之数据导入
Jun 23 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的declare控制符和ticks教程(附示例)
2014/03/21 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
PHP ElasticSearch做搜索实例讲解
2020/02/05 PHP
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
vue中的inject学习教程
2019/04/24 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
wxPython之解决闪烁的问题
2018/01/15 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
python实现大转盘抽奖效果
2019/01/22 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
自动化专业本科毕业生求职信
2013/10/20 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
应届毕业生求职信
2014/05/26 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
授权委托书怎么写
2014/09/25 职场文书
初中信息技术教学反思
2016/02/16 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
vue 自定义组件添加原生事件
2022/04/21 Vue.js