当前位置:  编程技术>python

python3使用tkinter实现ui界面简单实例

    来源: 互联网  发布时间:2014-09-04

    本文导语:  代码如下:import timeimport 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.st...


代码如下:

import time
import tkinter as tk

class 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, 'DLLspyc.ico')
    w.stoIco = os.path.join(sys.exec_prefix, 'DLLspy.ico')
    w.loop()

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python3.3使用tkinter开发猜数字游戏示例
  • Python3中内置类型bytes和str用法及byte和string之间各种编码转换
  • gvim7.3支持python3的问题
  • Python3通过request.urlopen实现Web网页图片下载
  • 新装python3在Ubuntu中左右键显示乱码
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • Python3实现生成随机密码的方法
  • python3.3实现乘法表示例
  • python3.0 字典key排序
  • 一则python3的简单爬虫代码
  • Python3实现的腾讯微博自动发帖小工具
  • python3使用urllib示例取googletranslate(谷歌翻译)
  • Python3实现连接SQLite数据库的方法
  • 让python同时兼容python2和python3的8个技巧分享
  • python3图片转换二进制存入mysql
  • python3访问sina首页中文的处理方法
  • python3.3教程之模拟百度登陆代码分享
  • Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
  • Python3基础之函数用法
  • python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
  • Python3.x和Python2.x的区别介绍
  • Python3基础之基本运算符概述


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3