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模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
Python与Redis的连接教程
Apr 22 Python
Python爬取qq music中的音乐url及批量下载
Mar 23 Python
Python实现多线程抓取网页功能实例详解
Jun 08 Python
Python编写Windows Service服务程序
Jan 04 Python
PyQt5每天必学之布局管理
Apr 19 Python
Python selenium实现微博自动登录的示例代码
May 16 Python
python3实现小球转动抽奖小游戏
Apr 15 Python
Python中查看变量的类型内存地址所占字节的大小
Jun 26 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 Python
Python实现双向链表基本操作
May 25 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实现批量查询清除一句话后门的代码
2008/01/20 PHP
3个PHP多维数组转为一维数组的方法实例
2014/03/13 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
PHP 微信支付类 demo
2015/11/30 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
小学音乐教学反思
2014/02/05 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
个人借款担保书
2014/04/02 职场文书
求职简历自荐信
2014/06/18 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
刑事代理授权委托书
2014/09/17 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
新员工入职感言范文!
2019/07/04 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
pytorch fine-tune 预训练的模型操作
2021/06/03 Python