1.导入tkinter模块
import Tkinter
2.创建控件并启动
root = Tkinter.Tk()
root.title('设置窗口标题') # 设置窗口标题
# 进入消息循环
root.mainloop()
3.在界面上添加常用组件
a = Label(root, text='test_message') #标签控件,显示文本
a.pack() #将控件绑定到界面上
b = Entry(self.root, width=80) #输入控件;用于显示简单的文本内容
b.get() #获取界面上输入的内容
c = Button(self.root, text='点击', command=function_name) #按钮控件;在程序中显示按钮,可以绑定一个方法,点击按钮就调用该方法
d = Listbox(self.root, width=150) #列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
d.insert(0, 'test_message') #往列表框指定位置插入一个字符串
#其他控件请查看源文档
4.应用示例-自动清理日志的小工具

import os import datetime import time from tkinter import * import nnlog log = nnlog.Logger('delete_file.log', when='D') class Application(): def __init__(self): self.root = Tk() self.createWidgets() def createWidgets(self): self.a= Label(self.root, text='输入待删除日志的路径') self.b= Label(self.root, text='请谨慎输入,将会删除该路径下符合要求的所有日志文件,包括文件夹下的') self.a.pack() self.b.pack() self.logPathInput = Entry(self.root, width=80) self.logPathInput.pack() self.c = Label(self.root, text='输入日志文件后缀,默认为.log') self.c.pack() self.logNameInput = Entry(self.root, width=80) self.logNameInput.pack() self.c = Label(self.root, text='输入多少天之前的日志,不输入则默认删除五天前的') self.c.pack() self.deleTimeInput = Entry(self.root, width=80) self.deleTimeInput.pack() self.alertButton = Button(self.root, text='开始删除', command=self.del_log_file) self.alertButton.pack() self.resText = Listbox(self.root, width=80) self.resText.pack() def del_log_file(self): """删除指定路径下超过X天的日志文件 """ path = self.logPathInput.get() del_time = self.deleTimeInput.get() if self.deleTimeInput.get() else 5 log_name=self.logNameInput.get() if self.logNameInput.get() else '.log' if del_time and log_name and os.path.exists(path): self.resText.insert(0, '删除日志文件如下') self.resText.insert(0, '.............开始删除日志文件,退出请直接关闭工具..........') for cur_path, cur_dirs, cur_files in os.walk(path): for log_file in cur_files: if log_file.endswith(log_name): # file_time_stamp = log_file.split(".")[0].split("_")[1] # 获取文件修改时间,时间戳格式 filePath = os.path.join(cur_path, log_file) filetime_stamp = os.path.getmtime(filePath) # 获取当前时间 today = datetime.datetime.now() # 计算偏移量,前X天 offset = datetime.timedelta(days=-int(del_time)) print(offset) # 获取想要的日期的时间,即前X天时间 re_date = (today + offset) # 前3天时间转换为时间戳 re_date_unix = time.mktime(re_date.timetuple()) try: if filetime_stamp <= re_date_unix: self.resText.insert(2, filePath) os.remove(filePath) log.debug('删除文件成功:' + filePath) print(filePath) except: continue self.resText.insert(1, '....................扫描完毕,等待下次运行...............') #10000ms后再次调用删除日志的函数 self.root.after(86400000,self.del_log_file) else: self.resText.insert(0, 'error:输入的文件夹不存在') self.resText.insert(0, '******************************************************') if __name__ == "__main__": app = Application() # 设置窗口标题: app.root.title('自动清理日志') # 主消息循环: app.root.mainloop()