from tkinter import
*import hashlib
import time
log_line_num =
0class
my_gui()
:def
__init__
(self,init_window_name)
: self.init_window_name = init_window_name
#設定視窗
defset_init_window
(self)
: self.init_window_name.title(
"文字處理工具_v1.2"
)#視窗名
#self.init_window_name.geometry('320x160+10+10') #290 160為視窗大小,+10 +10 定義視窗彈出時的預設展示位置
self.init_window_name.geometry(
'1068x781+10+10'
)#self.init_window_name["bg"] = "pink" #視窗背景色,其他背景色見:blog.csdn.net/chl0000/article/details/7657887
#self.init_window_name.attributes("-alpha",0.9) #虛化,值越小虛化程度越高
#標籤 self.init_data_label = label(self.init_window_name, text=
"待處理資料"
) self.init_data_label.grid(row=
0, column=0)
self.result_data_label = label(self.init_window_name, text=
"輸出結果"
) self.result_data_label.grid(row=
0, column=12)
self.log_label = label(self.init_window_name, text=
"日誌"
) self.log_label.grid(row=
12, column=0)
#文字框
self.init_data_text = text(self.init_window_name, width=
67, height=35)
#原始資料錄入框
self.init_data_text.grid(row=
1, column=
0, rowspan=
10, columnspan=10)
self.result_data_text = text(self.init_window_name, width=
70, height=49)
#處理結果展示
self.result_data_text.grid(row=
1, column=
12, rowspan=
15, columnspan=10)
self.log_data_text = text(self.init_window_name, width=
66, height=9)
# 日誌框
self.log_data_text.grid(row=
13, column=
0, columnspan=10)
#按鈕 self.str_trans_to_md5_button = button(self.init_window_name, text=
"字串轉md5"
, bg=
"lightblue"
, width=
10,command=self.str_trans_to_md5)
# 呼叫內部方法 加()為直接呼叫
self.str_trans_to_md5_button.grid(row=
1, column=11)
#功能函式
defstr_trans_to_md5
(self)
: src = self.init_data_text.get(
1.0,end)
.strip(
).replace(
"\n",""
).encode(
)#print("src =",src)
if src:
try:
mymd5 = hashlib.md5(
) mymd5.update(src)
mymd5_digest = mymd5.hexdigest(
)#print(mymd5_digest)
#輸出到介面
self.result_data_text.delete(
1.0,end)
self.result_data_text.insert(
1.0,mymd5_digest)
self.write_log_to_text(
"info:str_trans_to_md5 success"
)except
: self.result_data_text.delete(
1.0,end)
self.result_data_text.insert(
1.0,
"字串轉md5失敗"
)else
: self.write_log_to_text(
"error:str_trans_to_md5 failed"
)#獲取當前時間
defget_current_time
(self)
: current_time = time.strftime(
'%y-%m-%d %h:%m:%s'
,time.localtime(time.time())
)return current_time
#日誌動態列印
defwrite_log_to_text
(self,logmsg)
:global log_line_num
current_time = self.get_current_time(
) logmsg_in =
str(current_time)
+" "
+str
(logmsg)
+"\n"
#換行if log_line_num <=7:
self.log_data_text.insert(end, logmsg_in)
log_line_num = log_line_num +
1else
: self.log_data_text.delete(
1.0,
2.0)
self.log_data_text.insert(end, logmsg_in)
defgui_start()
: init_window = tk(
)#例項化出乙個父視窗
zmj_portal = my_gui(init_window)
# 設定根視窗預設屬性
zmj_portal.set_init_window(
) init_window.mainloop(
)#父視窗進入事件迴圈,可以理解為保持視窗執行,否則介面不展示
gui_start(
)
開一坑,有時間深挖
學習**
借鑑**
任務模組 報告模組 日誌模組
需求背景 報告模組 怎麼來處理這個報告的問題,報告是非常重要的一塊,1,可以看到每一次執行的情況,多少通過了,多少失敗了 2,可以看到執行的日誌,每一步的日誌,失敗了,我要知道失敗在 了,3,每次都要有報告 業務設計 1,任務列表,任務名稱,檢視任務詳情,報告列表,執行的功能,2,任務詳情,每乙個用...
模組之shutil模組模組詳解
shutil模組是高階的 檔案 資料夾 壓縮包 處理模組 shutil.copyfileobj fsrc,fdst length 將檔案內容拷貝到另乙個檔案中 shutil.copyfile src,dst 拷貝檔案 shutil.copymode src,dst 僅拷貝許可權。內容 組 使用者均不...
常用模組 time模組,datetime模組
print time.time print type time.time 1539594222.698943 時間戳是指從1970年1月1日到現在經歷秒數,返回乙個浮點數。print time.strftime y m d h m s p 需要規定格式 y年 m月 d日 h時 m分 s 分 p上午或...