python+pyqt5如何编写md5生成器(MD5,pyqt5,python,开发技术)

时间:2024-04-28 15:10:58 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

下图是程序界面:

python+pyqt5如何编写md5生成器

下面是代码:

importhashlib,os,sysfromPyQt5.QtGuiimportQFont,QIconfromPyQt5.QtWidgetsimport(QFileDialog,QGridLayout,QLineEdit,QTextEdit,QLabel,QWidget,QToolTip,QPushButton,QApplication)fromPyQt5.QtCoreimportQCoreApplication#小文件的处理函数defget_md5_small(file_path):md5=Noneifos.path.exists(file_path)andos.path.isfile(file_path):withopen(file_path,'rb')asf:md5_obj=hashlib.md5()md5_obj.update(f.read())hash_code=md5_obj.hexdigest()md5=str(hash_code).lower()returnmd5#大文件的处理函数defget_md5_big(file_path):md5=Noneifos.path.exists(file_path)andos.path.isfile(file_path):withopen(file_path,'rb')asf:md5_obj=hashlib.md5()whileTrue:d=f.read(8096)ifnotd:breakmd5_obj.update(d)hash_code=md5_obj.hexdigest()md5=str(hash_code).lower()returnmd5classMainBody(QWidget):def__init__(self):super(MainBody,self).__init__()self.init()definit(self):#布局grid=QGridLayout()self.setLayout(grid)grid.setSpacing(10)#文件路径self.m_tedit=QTextEdit()self.m_tedit.setToolTip(u'可以拖拽文件到这里来')grid.addWidget(self.m_tedit,1,0,2,3)#四个按钮self.m_select_btn=QPushButton(u'选择文件')self.m_select_btn.clicked.connect(self.select_func)self.m_generate_btn=QPushButton(u'生成')self.m_generate_btn.clicked.connect(self.generate_func)self.m_clear_btn=QPushButton(u'清空')self.m_clear_btn.clicked.connect(self.clear_func)self.m_copy_btn=QPushButton(u'复制')self.m_copy_btn.clicked.connect(self.copy_func)grid.addWidget(self.m_select_btn,3,0)grid.addWidget(self.m_generate_btn,3,1)grid.addWidget(self.m_clear_btn,3,2)grid.addWidget(self.m_copy_btn,5,1)#md5的输出区域self.m_output=QLineEdit()grid.addWidget(self.m_output,4,0,1,3)self.setGeometry(300,300,300,200)self.setWindowTitle(u"md5生成器")self.setWindowIcon(QIcon('icon.png'))self.show()#选择文件defselect_func(self):filename,ok=QFileDialog.getOpenFileName(self,"Openfile","C:/Users/Administrator/Desktop")print(os.path.getsize(filename))self.m_tedit.setText(filename)self.m_output.clear()#生成md5按钮defgenerate_func(self):path=self.m_tedit.toPlainText()ifpath.startswith('file:///'):path=path[8:]ifos.path.exists(path)andos.path.isfile(path):#200M以上的当作大文件ifos.path.getsize(path)>=200*1024*1204:md5=get_md5_big(path)else:md5=get_md5_small(path)self.m_output.setText(md5)defclear_func(self):self.m_tedit.clear()self.m_output.clear()#复制defcopy_func(self):clipboard=QApplication.clipboard()clipboard.setText(self.m_output.text())if__name__=="__main__":app=QApplication(sys.argv)mb=MainBody()sys.exit(app.exec_())

最后用 pyinstaller 打包成 exe 文件

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:python+pyqt5如何编写md5生成器的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:VUE中使用MUI方法下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18