
完整程式請參考
Clear 的目的就是用來清除使用者輸入與結果,程式如下
113 114 115 116 117 118 119 120 | def clearMethod( self ): self .e = None self .userinput = "" self .result = "" self .inputField.delete( 0 , 200 ) self .outputField.delete( 0 , 200 ) self .displayText[ "text" ] = "It's done." |
這裡除了將 self.userinput 、 self.result 設定為空字串 (string) , self.inputField 與 self.outputField 呼叫 delete() 刪除 0 到 200 之間的字元內容, self.e 也重新設定為 None
114 | self .e = None |
這裡清除文字輸入框的方式為使用 delete() ,並且預期使用者的輸入長度沒有超過 200 的字元。
因此使用者點擊 Clear 之後,所有設定都會歸零,如果要編碼或解碼文字必須重新輸入文字,也都得 New 或 Load Encrypt 物件 (object) ,才能順利 Encode 或 Decode 。
清除工作完畢,訊息欄顯示 "It's done." 。
Copy 則是把編碼結果拷貝到系統剪貼簿,當然,如果使用者沒有按過 Encode 或 Decode , self.result 就會是空字串,這樣拷貝是沒有意義的,因此這裡先做個條件判斷
122 123 124 125 126 127 128 | def copyMethod( self ): if self .result = = "": self .displayText[ "text" ] = "Copy denied!!" else : self .clipboard_clear() self .clipboard_append( self .result) self .displayText[ "text" ] = "It is already copied to the clipboard." |
如果不是空字串就會進行拷貝到剪貼簿的動作,這裡是用 Tk 本身 Frame 類別 (class) 的 clipboard_append() 方法 (method) ,然後直接以 self.result 當參數 (parameter)
127 | self .clipboard_append( self .result) |
來執行看看囉!下面是 Clear

下面是 Copy

拷貝過後就可以貼到其他地方

好了,我們已經學完開發 EncryptGUI 了,下一步是?
中英文術語對照 | |
---|---|
字串 | string |
物件 | object |
類別 | class |
方法 | method |
參數 | parameter |
您可以繼續參考
GUI 篇
相關目錄
回 Python 入門指南
回 Python 教材
回首頁
參考資料
http://docs.python.org/3.1/library/tk.html
http://docs.python.org/3.1/library/tkinter.html
沒有留言:
張貼留言