tkinter 的两个例子

简介: 第一个例子:after用于定时操作import tkinter as tkimport timeclass MyApp(tk.Frame): def __init__(self, msecs=1000): super().

第一个例子:after

用于定时操作

import tkinter as tk
import time

class MyApp(tk.Frame):
    def __init__(self, msecs=1000):
        super().__init__()
        self.pack()
        
        self.msecs = msecs
        
        self.utc_time = tk.Label(self, text='', bg='navy', fg='white')
        self.utc_time.pack()
        self.cst_time = tk.Label(self, text='', bg='navy', fg='white')
        self.cst_time.pack()
        
        self.repeater()
        
    def repeater(self):
        self.utc_time.config(text= 'UTC: ' + time.strftime('%Y/%m/%d %H:%M:%S',time.gmtime()))
        self.cst_time.config(text= 'CST: ' + time.strftime('%Y/%m/%d %H:%M:%S',time.localtime()))
        
        self.after(self.msecs, self.repeater)        


if __name__ == '__main__': 
    MyApp(msecs=1000).mainloop()

效果图:
img_da4b9188db541807e8bc549efe6e3d7a.png

第二个例子:pack_forget

用于切换窗口部件的显示、隐藏

import tkinter as tk

class MyApp(tk.Frame):
    def __init__(self):
        super().__init__()
        self.pack()
        
        # 两个按钮
        self.rowframe = tk.Frame(self)
        self.rowframe.pack(fill='x')
        self.btn2 = tk.Button(self.rowframe, text='按钮2') # , command=self.update
        self.btn2.pack(side=tk.RIGHT)
        self.btn1 = tk.Button(self.rowframe, text='按钮1')
        self.btn1.pack(side=tk.RIGHT)
        
        self.btn1.bind('<Button-1>', self.update)
        self.btn2.bind('<Button-1>', self.update)
        
        
    # 测试pack_forget
    def update(self, event):
        #print(dir(event))
        if event.widget == self.btn1:
            self.btn1.forget()
            self.btn2.pack(side=tk.RIGHT)
        else:
            self.btn2.pack_forget() # 故意的
            self.btn1.pack(side=tk.RIGHT)
        

if __name__ == '__main__': 
    MyApp().mainloop()

效果图:
img_9c9b8284177cb47cf826e7a826016f65.png

目录
相关文章
|
5月前
|
Python
tkinter之简单使用
tkinter之简单使用
45 0
|
5月前
|
开发者 Python
【python】tkinter组件,from Tkinter import * 与 import Tkinter 的区别
【python】tkinter组件,from Tkinter import * 与 import Tkinter 的区别
85 0
|
12月前
|
前端开发 Python
Tkinter的基础使用介绍
Tkinter的基础使用介绍。更多文章请关注个人公众号:python学习杂记
83 0
|
Python 容器
Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用
Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用
238 1
|
Python
Python Tkinter 教程(四)—— 子模块 messagebox、colorchooser 以及 filedialog 的使用及技巧(万字详解)(上)
Python Tkinter 教程(四)—— 子模块 messagebox、colorchooser 以及 filedialog 的使用及技巧(万字详解)(上)
236 0
|
Python
Python Tkinter 教程(四)—— 子模块 messagebox、colorchooser 以及 filedialog 的使用及技巧(万字详解)(下)
Python Tkinter 教程(四)—— 子模块 messagebox、colorchooser 以及 filedialog 的使用及技巧(万字详解)(下)
285 0
|
前端开发 Python
Python tkinter库Canvas矩形框绑定事件模拟按钮
Python tkinter库Canvas矩形框绑定事件模拟按钮
145 0
|
前端开发 Python
Python tkinter库之Canvas 以圆模拟画圆环
Python tkinter库之Canvas 以圆模拟画圆环
234 0
|
Java 开发工具 iOS开发
Tkinter之Menu组件用法
Tkinter之Menu组件用法
263 0
Tkinter之Menu组件用法