經過一個半小時的努力,做出了這個東西。順便開個新坑。
這個坑我打算提供一些實例代碼。可以供大家學習。大家可隨便參考,復制。
實例代碼的下一篇就是講解,不過我有點累,明天再發吧…
from PyQt5.QtWidgets import QWidget, QLabel, QComboBox, QApplication,QLineEdit,QPushButton
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt
import sys,os,shutil,sip
class Example(QWidget):
def __init__(self):
super().__init__()
self.settings()
def settings(self):
self.combo = QComboBox(self)
self.combo.addItem("")
self.combo.addItem("摩爾碼加密")
self.combo.addItem("倒置加密")
self.combo.move(150,10)
self.combo.activated[str].connect(self.remember)
self.say = QLabel(self)
self.say.setText(' ')
self.say.setFont(QFont('黑體',20))
self.say.move(90,100)
self.choice = QLabel(self)
self.choice.setText('請選擇加密方式:')
self.choice.setFont(QFont('黑體',12))
self.choice.move(15, 12.5)
self.info = QLineEdit(self)
self.info.setPlaceholderText('請輸入加密內容')
self.info.move(15,50)
self.yes = QPushButton('確定',self)
self.yes.move(200,150)
self.yes.clicked.connect(self.yes_)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('密碼器')
self.show()
def remember(self, text):
self.unit = text
def yes_(self):
try:
if self.unit == '摩爾碼加密':
dict1 = {'a': '.-', 'b': '-...', 'c': '-.-.', 'd': '-.', 'e': '.',
'f': '..-.', 'g': '--.', 'h': '....', 'i': '..', 'j': '.---',
'k': '-.-', 'l': '.-..', 'm': '--', 'n': '-.', 'o': '---',
'p': '.--.', 'q': '--.-', 'r': '.-.', 's': '...', 't': '-',
'u': '..-', 'v': '...-', 'w': '.--', 'x': '-..-', 'y': '-.--', 'z': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',
'5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.'}
ls = list(self.info.text())
keyword_ls = []
for i in range(len(ls)):
keyword_ls.append(dict1[ls[i]])
keyword = ' '.join(keyword_ls)
if '生成密碼目錄' not in os.listdir('./'):
os.mkdir('生成密碼目錄')
else:
shutil.rmtree('./生成密碼目錄')
os.mkdir('./生成密碼目錄')
where = open('./摩爾碼加密內容.txt', 'w')
where.write(keyword)
self.say.setText('錄入成功')
where.close()
if self.unit == '倒置加密':
ls = list(self.info.text())
ls.reverse()
if '生成密碼目錄' not in os.listdir('./'):
os.mkdir('生成密碼目錄')
else:
shutil.rmtree('./生成密碼目錄')
os.mkdir('./生成密碼目錄')
where = open('./生成密碼目錄/倒置加密內容.txt', 'w')
where.writelines(ls)
self.say.setText('錄入成功')
where.close()
except:
self.say.setText('錄入失敗')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。