当前位置: 首页 > news >正文

蛋糕店网站设计模板网站快速上排名方法

蛋糕店网站设计模板,网站快速上排名方法,十大酒店管理系统,美团广告投放平台目录 一、概述1.1 版本信息:1.2 基本信息:1.2.1 软件支持的内容:1.2.2 支持的编码格式 1.3 软件界面图 二、代码实现2.1 View2.2 Controller2.3 Model 三、测试示例 一、概述 本工具居于hashlibPyQtQFileDialog写的小工具,主要是…

目录

  • 一、概述
    • 1.1 版本信息:
    • 1.2 基本信息:
      • 1.2.1 软件支持的内容:
      • 1.2.2 支持的编码格式
    • 1.3 软件界面图
  • 二、代码实现
    • 2.1 View
    • 2.2 Controller
    • 2.3 Model
  • 三、测试示例

一、概述

本工具居于hashlib+PyQt+QFileDialog写的小工具,主要是为了简单的获取相关文件或者一些数据的哈希值数据。

1.1 版本信息:

  • PyQt5 5.14.0
  • PyQt5-sip 12.12.2
  • pyqt5-tools 5.14.0.1.7
  • Python 3.8.6
  • 当前版本:V1.0.0.0

1.2 基本信息:

1.2.1 软件支持的内容:

  • 普通文本文件:.txt、.docs、.doc、.xml等
  • 图片文件:.png、.gif等
  • 压缩包文件:.zip等
  • 应用程序:.exe、.msi
  • 直接文本框输入文本
  • 其他的未进一步验证
    注: 打开文件时,数据的文本框中显示的是文件的完整路径,而非具体数据内容。

1.2.2 支持的编码格式

  • MD5
  • SHA1
  • SHA256

1.3 软件界面图

在这里插入图片描述

二、代码实现

2.1 View

# _*_ coding:utf-8 _*_from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtWidgets import QWidget
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtWidgets import QTextEdit
from PyQt5.QtWidgets import QLineEdit
from PyQt5.QtWidgets import QLabel
from PyQt5.QtWidgets import QGridLayout
from PyQt5.QtWidgets import QHBoxLayout
from PyQt5.QtWidgets import QRadioButton
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIconclass MainWindow(QMainWindow):"Main Window"def __init__(self) -> None:"""Init"""super().__init__()self.init_ui()def init_ui(self):"""Init Ui"""self.setMinimumSize(400,300)self.resize(400,300)self.setWindowTitle("Hash Code V1.0.0.0")self.setWindowIcon(QIcon("res\Gear 2.ico"))self.central_widget = QWidget()""" main widget """self.setCentralWidget(self.central_widget)self.layout_main = QGridLayout()self.central_widget.setLayout(self.layout_main)# Hash type buttong.self.layout_hashtype = QHBoxLayout()self.layout_main.addLayout(self.layout_hashtype, 0, 0, Qt.AlignmentFlag.AlignTop)self.radio_md5 = QRadioButton("MD5")self.radio_md5.setChecked(True)self.layout_hashtype.addWidget(self.radio_md5)self.radio_sha1 = QRadioButton("SHA1")self.layout_hashtype.addWidget(self.radio_sha1)self.radio_sha256 = QRadioButton("SHA256")self.layout_hashtype.addWidget(self.radio_sha256)self.layout_hashtype.addStretch(1)self.btn_openfile = QPushButton("打开文件")self.layout_hashtype.addWidget(self.btn_openfile,alignment=Qt.AlignmentFlag.AlignRight)# Dataself.layout_main.addWidget(QLabel("数据:"), 1, 0, Qt.AlignmentFlag.AlignLeft)self.txt_data = QTextEdit()self.txt_data.setToolTip("""打开文件时则获取文件的Hash值,非文件时直接获取文本框中文本的Hash值!\r\n默认清除首尾空格!""")self.layout_main.addWidget(self.txt_data, 2, 0)self.txt_data.setMinimumHeight(50)# Hashself.layout_value = QHBoxLayout()self.layout_main.addLayout(self.layout_value, 3, 0)self.layout_value.addWidget(QLabel("Hash值:"))self.layout_value.addStretch(1)self.btn_clear = QPushButton("清除数据")self.layout_value.addWidget(self.btn_clear, alignment=Qt.AlignmentFlag.AlignRight)self.btn_calc = QPushButton("计算")self.layout_value.addWidget(self.btn_calc, alignment=Qt.AlignmentFlag.AlignRight)self.txt_value = QTextEdit()self.layout_main.addWidget(self.txt_value, 4, 0)

2.2 Controller

# _*_ coding:utf-8 _*_import os
import hashlib
from PyQt5.QtWidgets import QFileDialog
from PyQt5.QtWidgets import QWidget
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtWidgets import QTextEdit
from PyQt5.QtWidgets import QLineEdit
from PyQt5.QtWidgets import QLabel
from PyQt5.QtWidgets import QGridLayout
from PyQt5.QtWidgets import QHBoxLayout
from PyQt5.QtWidgets import QRadioButtonfrom view.main_view import MainWindowclass MainWindowController(MainWindow):"""The controller of mainwindow"""def __init__(self) -> None:"""Init"""super().__init__()self.btn_openfile.clicked.connect(self.openfile)self.btn_clear.clicked.connect(self.clear)self.btn_calc.clicked.connect(self.gethash)self.show()def openfile(self):"""Open File"""# 打开文件filepath, filetypelist = QFileDialog.getOpenFileName()self.txt_data.setText(filepath)def gethash(self):"""Get Hash Value"""# 判断是否未文件,为文件时读取文件进行校验data = self.txt_data.toPlainText().strip()try:if os.path.exists(data):file = open(data, "rb")data_b = file.read()else:data_b = data.encode("utf-8")except Exception as err:self.txt_value.setText(err)# 计算哈希值,根据不同选项选择不同的算法。if self.radio_md5.isChecked():hash_value = hashlib.md5(data_b).hexdigest()elif self.radio_sha1.isChecked():hash_value = hashlib.sha1(data_b).hexdigest()elif self.radio_sha256.isChecked():hash_value = hashlib.sha256(data_b).hexdigest()else:return# 显示哈希值self.txt_value.setText(str(hash_value).upper())def clear(self):"""Get Hash Value"""self.txt_value.clear()self.txt_data.clear()

2.3 Model

小工具,没有model。

三、测试示例

在这里插入图片描述
在这里插入图片描述

http://www.khdw.cn/news/69211.html

相关文章:

  • 云南专业网站建设个人网页生成器
  • 花店网站建设构思免费域名注册
  • 那些网站做推广简述企业网站推广的一般策略
  • 网站建设公司怎么做业务网络营销网
  • 浙江嘉兴建设局网站seo工具网站
  • 工作室 网站经营性备案郑州网站
  • 最近几天的重大新闻事件淘宝网站的推广与优化
  • 少儿编程官网北京seo招聘信息
  • 百度新网站收录济南seo外包服务
  • 大山子网站建设百度公司官网入口
  • 模板网站与定制网站区别谷歌浏览器 安卓下载2023版
  • 设计师网站资源野狼seo团队
  • 津做网站企业网站的在线推广方法有
  • 大连免费营销型建站网络推广网络营销企业案例分析
  • WordPress垃圾tob主题seo优化报价
  • wordpress统计插件下载seo入门教程视频
  • 商城 网站 功能今日小说排行榜风云榜
  • 珠海网站制作网络公司百度上做推广怎么做
  • wordpress怎样更换主题优化建议
  • 北京网站建设 标准型 新翼如何设计一个网站页面
  • 中小学做课题研究的网站网络营销技巧培训班
  • 2018网站建设合同北京网站推广排名外包
  • 如何做美食网站经典软文案例200字
  • 庆阳官网贴吧许昌网站seo
  • 做网站开票几个税点谷歌seo是什么意思
  • 百度免费网站建设一个具体网站的seo优化方案
  • 网页设计与制作教程 刘瑞信 pdf网页优化seo公司
  • 建什么网站 做 cpa有什么平台可以推广
  • WordPress禁用自适应厦门seo关键词优化培训
  • 武汉建设局网站推广关键词排名方法