PythonGUI 使用Tkinter写一个简单时间间隔计算器
生活随笔
收集整理的這篇文章主要介紹了
PythonGUI 使用Tkinter写一个简单时间间隔计算器
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
python作業(yè)里要求寫時間間隔計算器,突然想到可以自學GUI直接做成簡單的計算器,于是有了這個簡單程序,如有錯誤,歡迎指正。
代碼如下:
此部分是輸入開始時間和結束時間的代碼
import tkinter as tk import result as rsclass Count:def __init__(self,window):frame = tk.Frame(window)#創(chuàng)建組件(開始時間)tk.Label(window,text = "開始時間:").grid(row = 0)self.year = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.y = tk.Label(window,text = '年',font = ('Arial',12))self.month = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.m = tk.Label(window,text = '月',font = ('Arial',12))self.day = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.d = tk.Label(window,text = '日',font = ('Arial',12))self.hour = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.h = tk.Label(window,text = ':',font = ('Arial',12))self.minute = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.minu = tk.Label(window,text = ':',font = ('Arial',12))self.second = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.year.grid(row = 0,column = 1,padx = 10,pady = 5)self.y.grid(row = 0,column = 2)self.month.grid(row = 0,column = 3,padx = 10,pady = 5)self.m.grid(row = 0,column = 4)self.day.grid(row = 0,column = 5,padx = 10,pady = 5)self.d.grid(row = 0,column = 6)self.hour.grid(row = 1,column = 1,padx = 10,pady = 5)self.h.grid(row = 1,column = 2)self.minute.grid(row = 1,column = 3,padx = 10,pady = 5)self.minu.grid(row = 1,column = 4)self.second.grid(row = 1,column = 5,padx = 10,pady = 5)tk.Label(window,text = " ").grid(row = 2)#創(chuàng)建組件(結束時間)tk.Label(window,text = "結束時間:").grid(row = 3)self.year1 = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.y1 = tk.Label(window,text = '年',font = ('Arial',12))self.month1 = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.m1 = tk.Label(window,text = '月',font = ('Arial',12))self.day1 = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.d1 = tk.Label(window,text = '日',font = ('Arial',12))self.hour1 = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.h1 = tk.Label(window,text = ':',font = ('Arial',12))self.minute1 = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.minu1 = tk.Label(window,text = ':',font = ('Arial',12))self.second1 = tk.Entry(window,show = None,font = ('Arial',12),width = 4)self.button = tk.Button(window,text = "計算結果",command = self.res,bg = '#EE82EE').grid(row = 5)self.year1.grid(row = 3,column = 1,padx = 10,pady = 5)self.y1.grid(row = 3,column = 2)self.month1.grid(row = 3,column = 3,padx = 10,pady = 5)self.m1.grid(row = 3,column = 4)self.day1.grid(row = 3,column = 5,padx = 10,pady = 5)self.d1.grid(row = 3,column = 6)self.hour1.grid(row = 4,column = 1,padx = 10,pady = 5)self.h1.grid(row = 4,column = 2)self.minute1.grid(row = 4,column = 3,padx = 10,pady = 5)self.minu1.grid(row = 4,column = 4)self.second1.grid(row = 4,column = 5,padx = 10,pady = 5)window.mainloop()def res(self):#將年月日時分秒相減的結果全部放入self.timeself.time = []self.day30 = [4,6,9,11]self.day31 = [1,3,5,7,8,10,12]self.time.append(int(self.year1.get())-int(self.year.get()))self.time.append(int(self.month1.get())-int(self.month.get()))self.time.append(int(self.day1.get())-int(self.day.get()))self.time.append(int(self.hour1.get())-int(self.hour.get()))self.time.append(int(self.minute1.get())-int(self.minute.get()))self.time.append(int(self.second1.get())-int(self.second.get()))#計算過程for i in range(1,6):if self.time[i] < 0:self.time[i-1] -= 1;if i >= 3:self.time[i] += 60elif i == 2:if int(self.month1.get()) in self.day30:self.time[i] += 30elif int(self.month1.get()) in self.day31:self.time[i] += 31elif int(self.month1.get()) == 2:if (int(self.year1.get())%4 == 0 and int(self.year1.get())%100 != 0) or (int(self.year1.get())%400 == 0):self.time[i] += 29else:self.time[i] += 28elif i == 1:self.time[i] += 12print_res = tk.Tk()print_res.geometry('200x100')print_res.resizable(width = False,height = False)print_res.attributes("-alpha",0.9)rs.Result(print_res,self.time)#創(chuàng)建窗口 window = tk.Tk() window.title('count') window.geometry('500x300') window.resizable(width = False,height = False) window.attributes("-alpha",0.9) count = Count(window)此部分是點擊“計算結果”按鈕后彈出的彈框實現(xiàn)代碼
import tkinter as tkclass Result:def __init__(self,print_res,time):self.time = time;tk.Label(print_res,text = "相差時間:").grid(row = 0)tk.Label(print_res,text = self.time[0]).grid(row = 0,column = 1)tk.Label(print_res,text = "年").grid(row = 0,column = 2)tk.Label(print_res,text = self.time[1]).grid(row = 0,column = 3)tk.Label(print_res,text = "月").grid(row = 0,column = 4)tk.Label(print_res,text = self.time[2]).grid(row = 0,column = 5)tk.Label(print_res,text = "日").grid(row = 0,column = 6)tk.Label(print_res,text = self.time[3]).grid(row = 1,column = 1)tk.Label(print_res,text = "時").grid(row = 1,column = 2)tk.Label(print_res,text = self.time[4]).grid(row = 1,column = 3)tk.Label(print_res,text = "分").grid(row = 1,column = 4)tk.Label(print_res,text = self.time[5]).grid(row = 1,column = 5)tk.Label(print_res,text = "秒").grid(row = 1,column = 6)運行結果展示:
總結
以上是生活随笔為你收集整理的PythonGUI 使用Tkinter写一个简单时间间隔计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文翻译-ASTER: An Atten
- 下一篇: 陌上花开,可缓缓归矣——2016年校招总