
encryptgui.py 的程式原始碼如下
from tkinter import *
from encrypt import Encrypt
import os
class EncryptGUI(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.grid()
self.createWidgets()
self.e = None
self.userinput = ""
self.result = ""
def createWidgets(self):
self.inputText = Label(self)
self.inputText["text"] = "Input:"
self.inputText.grid(row=0, column=0)
self.inputField = Entry(self)
self.inputField["width"] = 50
self.inputField.grid(row=0, column=1, columnspan=6)
self.outputText = Label(self)
self.outputText["text"] = "Output:"
self.outputText.grid(row=1, column=0)
self.outputField = Entry(self)
self.outputField["width"] = 50
self.outputField.grid(row=1, column=1, columnspan=6)
self.new = Button(self)
self.new["text"] = "New"
self.new.grid(row=2, column=0)
self.new["command"] = self.newMethod
self.load = Button(self)
self.load["text"] = "Load"
self.load.grid(row=2, column=1)
self.load["command"] = self.loadMethod
self.save = Button(self)
self.save["text"] = "Save"
self.save.grid(row=2, column=2)
self.save["command"] = self.saveMethod
self.encode = Button(self)
self.encode["text"] = "Encode"
self.encode.grid(row=2, column=3)
self.encode["command"] = self.encodeMethod
self.decode = Button(self)
self.decode["text"] = "Decode"
self.decode.grid(row=2, column=4)
self.decode["command"] = self.decodeMethod
self.clear = Button(self)
self.clear["text"] = "Clear"
self.clear.grid(row=2, column=5)
self.clear["command"] = self.clearMethod
self.copy = Button(self)
self.copy["text"] = "Copy"
self.copy.grid(row=2, column=6)
self.copy["command"] = self.copyMethod
self.displayText = Label(self)
self.displayText["text"] = "something happened"
self.displayText.grid(row=3, column=0, columnspan=7)
def newMethod(self):
self.e = Encrypt()
self.displayText["text"] = self.e
def loadMethod(self):
if os.path.exists("./code.txt"):
f = open('./code.txt', 'r')
code = f.readline()
self.e = Encrypt()
self.e.setCode(code)
self.displayText["text"] = "code: " + self.e.getCode()
else:
self.displayText["text"] = "Load denied!!"
def saveMethod(self):
if self.e == None:
self.displayText["text"] = "No Encrypt object can save!!"
else:
f = open('./code.txt', 'w')
f.write(self.e.getCode())
f.closed
self.displayText["text"] = "The code is saved."
def encodeMethod(self):
self.userinput = self.inputField.get()
if self.userinput == "":
self.displayText["text"] = "No input string!!"
else:
if self.e == None:
self.displayText["text"] = "No encrypt object!!"
else:
self.result = self.e.toEncode(self.userinput)
self.outputField.delete(0, 200)
self.outputField.insert(0, self.result)
self.displayText["text"] = "Encoding success!!"
def decodeMethod(self):
self.userinput = self.inputField.get()
if self.userinput == "":
self.displayText["text"] = "No input string!!"
else:
if self.e == None:
self.displayText["text"] = "No encrypt object!!"
else:
self.result = self.e.toDecode(self.userinput)
self.outputField.delete(0, 200)
self.outputField.insert(0, self.result)
self.displayText["text"] = "Decoding success!!"
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."
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."
if __name__ == '__main__':
root = Tk()
app = EncryptGUI(master=root)
app.mainloop()
# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:encryptgui.py
# 功能:示範 Python 程式
# 作者:張凱慶
# 時間:西元 2012 年 12 月 您可以繼續參考
範例程式碼
相關目錄
回 Python 入門指南
回 Python 教材
回首頁
參考資料
http://www.python.org/
http://docs.python.org/3.2/tutorial/index.html
http://docs.python.org/3.2/library/index.html
http://www.tutorialspoint.com/python/index.htm
http://interactivepython.org/courselib/static/thinkcspy/index.html
http://interactivepython.org/courselib/static/pythonds/index.html
http://en.wikibooks.org/wiki/Python_Programming
http://jwork.org/learn/doc/doku.php?id=python:start
沒有留言:
張貼留言