python thinter 模組學習

2021-10-07 09:00:30 字數 3938 閱讀 9521

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上午或...