VSC+python+mysql,

文章目录

目录

文章目录

前言

一、详细代码

第一个文件Ui_untitled.py

第二个fy_main.py文件:

第三个 :bd_pachong.py

二、登录界面:

总结


前言

通过pyqt5实现了翻译界面的可视化,利用python爬虫实现了翻译,如下图:

英——>汉

汉——>英

句子翻译:

一、详细代码

第一个文件Ui_untitled.py

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'd:\python代码\翻译\untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5.QtWidgets import QApplication,QMainWindow,QMessageBox
from PyQt5 import QtCore, QtGui, QtWidgets
from bdpachong import *class Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(900, 741)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 255, 255, 255), stop:1 rgba(255, 255, 255, 255));")self.centralwidget.setObjectName("centralwidget")self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)self.verticalLayout.setContentsMargins(0, 0, 0, 0)self.verticalLayout.setSpacing(1)self.verticalLayout.setObjectName("verticalLayout")self.textEdit = QtWidgets.QTextEdit(self.centralwidget)sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)sizePolicy.setHorizontalStretch(0)sizePolicy.setVerticalStretch(0)sizePolicy.setHeightForWidth(self.textEdit.sizePolicy().hasHeightForWidth())self.textEdit.setSizePolicy(sizePolicy)self.textEdit.setMaximumSize(QtCore.QSize(16777215, 85))self.textEdit.setSizeIncrement(QtCore.QSize(0, 0))font = QtGui.QFont()font.setPointSize(20)font.setBold(True)font.setWeight(75)font.setKerning(True)self.textEdit.setFont(font)self.textEdit.viewport().setProperty("cursor", QtGui.QCursor(QtCore.Qt.ArrowCursor))self.textEdit.setMouseTracking(False)self.textEdit.setToolTipDuration(-1)self.textEdit.setStyleSheet("background-color: qlineargradient(spread:pad, x1:1, y1:1, x2:1, y2:1, stop:0 rgba(4, 192, 213, 255), stop:1 rgba(255, 255, 255, 255));\n"
"border-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 255, 255, 255), stop:1 rgba(255, 255, 255, 255));")self.textEdit.setFrameShadow(QtWidgets.QFrame.Raised)self.textEdit.setLineWidth(1)self.textEdit.setMidLineWidth(0)self.textEdit.setLineWrapColumnOrWidth(0)self.textEdit.setTabStopWidth(80)self.textEdit.setAcceptRichText(True)self.textEdit.setCursorWidth(1)self.textEdit.setObjectName("textEdit")self.verticalLayout.addWidget(self.textEdit)self.textEdit_2 = QtWidgets.QTextEdit(self.centralwidget)self.textEdit_2.setMaximumSize(QtCore.QSize(16777215, 60))self.textEdit_2.setStyleSheet("background-color: qlineargradient(spread:pad, x1:1, y1:0, x2:1, y2:1, stop:0 rgba(0, 192, 213, 255), stop:1 rgba(190, 255, 255, 255));")self.textEdit_2.setObjectName("textEdit_2")self.verticalLayout.addWidget(self.textEdit_2)self.pushButton = QtWidgets.QPushButton(self.centralwidget)palette = QtGui.QPalette()brush = QtGui.QBrush(QtGui.QColor(147, 221, 221))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)brush = QtGui.QBrush(QtGui.QColor(147, 221, 221))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)brush = QtGui.QBrush(QtGui.QColor(170, 255, 255))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)self.pushButton.setPalette(palette)font = QtGui.QFont()font.setPointSize(10)font.setBold(True)font.setItalic(False)font.setWeight(75)self.pushButton.setFont(font)self.pushButton.setStyleSheet("background-color: rgb(170, 255, 255);\n"
"border-color: rgb(170, 255, 255);\n"
"")self.pushButton.setObjectName("pushButton")self.verticalLayout.addWidget(self.pushButton)self.label_5 = QtWidgets.QLabel(self.centralwidget)self.label_5.setMaximumSize(QtCore.QSize(16777215, 30))palette = QtGui.QPalette()brush = QtGui.QBrush(QtGui.QColor(186, 186, 186))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)brush = QtGui.QBrush(QtGui.QColor(186, 186, 186))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)brush = QtGui.QBrush(QtGui.QColor(222, 222, 222, 222))brush.setStyle(QtCore.Qt.SolidPattern)palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)self.label_5.setPalette(palette)font = QtGui.QFont()font.setBold(True)font.setWeight(75)self.label_5.setFont(font)self.label_5.setMouseTracking(False)self.label_5.setStyleSheet("background-color: rgba(222,222,222,222);")self.label_5.setLineWidth(3)self.label_5.setIndent(5)self.label_5.setObjectName("label_5")self.verticalLayout.addWidget(self.label_5)self.textEdit_3 = QtWidgets.QTextEdit(self.centralwidget)self.textEdit_3.setObjectName("textEdit_3")self.verticalLayout.addWidget(self.textEdit_3)self.verticalLayout.setStretch(0, 1)MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 900, 26))self.menubar.setObjectName("menubar")self.menu = QtWidgets.QMenu(self.menubar)self.menu.setObjectName("menu")self.menu_2 = QtWidgets.QMenu(self.menubar)self.menu_2.setObjectName("menu_2")self.menu_3 = QtWidgets.QMenu(self.menubar)self.menu_3.setObjectName("menu_3")self.menu_4 = QtWidgets.QMenu(self.menubar)self.menu_4.setObjectName("menu_4")self.menu_5 = QtWidgets.QMenu(self.menubar)self.menu_5.setObjectName("menu_5")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.action = QtWidgets.QAction(MainWindow)self.action.setObjectName("action")self.action_2 = QtWidgets.QAction(MainWindow)self.action_2.setObjectName("action_2")self.menu.addAction(self.action)self.menu.addAction(self.action_2)self.menubar.addAction(self.menu.menuAction())self.menubar.addAction(self.menu_2.menuAction())self.menubar.addAction(self.menu_3.menuAction())self.menubar.addAction(self.menu_4.menuAction())self.menubar.addAction(self.menu_5.menuAction())self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.pushButton.setText(_translate("MainWindosetIconTextw", "开 始 翻  译"))self.label_5.setText(_translate("MainWindow", "例句/短语"))self.menu.setTitle(_translate("MainWindow", "菜单"))self.menu_2.setTitle(_translate("MainWindow", "工具"))self.menu_3.setTitle(_translate("MainWindow", "设置"))self.menu_4.setTitle(_translate("MainWindow", "视图"))self.menu_5.setTitle(_translate("MainWindow", "帮助"))self.action.setText(_translate("MainWindow", "收藏"))self.action_2.setText(_translate("MainWindow", "添加入词库"))self.action_2.setIconText(_translate("MainWindow", "添加入词库"))self.pushButton.clicked.connect(self.ksfy)#对用户输入的进行判断def ksfy(self):word=self.textEdit.toPlainText()word=word.replace("\n","").replace("?","").replace("!","").replace(" ","%20").replace(",","")            #防止输入回车导致报错a,b=pacho(word)if len(a)==0 and len(b)==0:QMessageBox.critical(None,'警告','十分抱歉,未能找到您输入对应的翻译\n请重新输入',QMessageBox.Yes)else:s=''for cy in a:s=s+str(cy)+'\n\n'self.textEdit_2.setText(s)s=''for lj in b:s=s+str(lj)+'\n\n'self.textEdit_3.setText(s)

第二个fy_main.py文件:


from PyQt5.QtWidgets import QApplication,QMainWindow
from Ui_untitled import *
import sysfrom Ui_untitled import Ui_MainWindow
if __name__ == "__main__":app = QApplication(sys.argv)win_fy = QMainWindow()fy = Ui_MainWindow()fy.setupUi(win_fy)win_fy.show()sys.exit(app.exec_())

第三个 :bd_pachong.py

from lxml import etree
from matplotlib.pyplot import flag
import requests
def pacho(word):header={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.33'}page_url='https://dict.youdao.com/w/'+word+'/#keyfrom=dict2.top'page_text=requests.get(url=page_url,headers=header).texttree=etree.HTML(page_text)# tree1 = html.tostring(tree[0])# #编码'utf-8'# tree2 = HTMLParser().unescape(tree1.decode('utf-8'))# print(tree2)res = Truefor w in word:          #判断是否全是中文if not '\u4e00' <= w <= '\u9fff':res = Falseif word.encode('utf-8').isalpha():  #判断是否全是英文ciyi=tree.xpath('//*[@id="phrsListTab"]/div[2]/ul/li/text()')liju=tree.xpath('//*[@id="collinsResult"]/div/div/div/div/ul/li/div/div/p/text()')return ciyi,lijuelse:  changju=tree.xpath('//*[@id="fanyiToggle"]/div/p[2]/text()')ciyi=tree.xpath('//*[@id="phrsListTab"]/div[2]/ul/p[1]/span/a/text()') liju=tree.xpath('//*[@id="webPhrase"]/p/span/a/text()')dy=tree.xpath('//*[@id="webPhrase"]/p/text()')dy_a=[]for i in dy:    #数据清洗if len(i.replace("\n","").replace(" ",""))==0:continue          dy_a.append(i.replace("\n","").replace(" ",""))for i in range(len(liju)):liju[i]=liju[i]+':'+dy_a[i]         #归并数据if len(liju)==0 and len(ciyi)==0:liju=changjureturn ciyi,lijuif __name__=='__main__':pacho()

二、登录界面:

这的登录界面只需要去看我的另一篇文章,之需要将登录那个板块的代码复制,修改一下素材的路径就可以了,这里就不赘述了。

pyqt5重庆连接二手房数据可视化完整项目_lanzha的博客-CSDN博客


总结

这里只展示了翻译节目的制作,以及爬虫的文件,数据来源与有道。爬虫可以直接作为单个项目是运行。下面是整个完整项目的压缩包

一个可视化界面的翻译项目,可以实现汉译英与英译汉。-Python文档类资源-CSDN文库

pyqt5制作翻译软件+爬虫相关推荐

  1. PyQt5制作一个爬虫小工具,爬取雪球网上市公司的财务数据

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于可以叫我才哥 ,作者:可以叫我才哥 最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上 ...

  2. PyQt5制作一个爬虫小工具,获取某网上市公司的财务数据可视化

    最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上市公司的财务数据.盆友希望可以根据他自己的选择进行自由的抓取,所以简单给一份脚本交给盆友,盆友还需要自己搭建python环境,更需要去熟悉一些参数修改的 ...

  3. 实践应用|PyQt5制作雪球网股票数据爬虫工具

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货第一时间推给你!!! 最近有盆友需要帮忙写个爬虫脚本,爬取雪球网一些上市公司的财务数据.盆友希望 ...

  4. Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI

    现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序 文章目录 制作NBA数据爬虫 捋顺思路 编写代码 NBAReporter.py NB ...

  5. 制作Scary爬虫步骤

    制作Scrapy爬虫一共需要4步: 新建项目(scrapy startproject xxx):新建一个新的爬虫项目. 明确目标(编写items.py):明确你想要抓取的目标. 制作爬虫(spider ...

  6. python qt5 增加文本框_Python用PyQt5制作弹出式输入框,Qt图形界面编程之QInputDialog...

    前面内容,我们介绍了PyQt5的一些常用基本控件. 温故而知新 计数器QSpinBox使用详解,Python用PyQt5制作图形界面基础控件篇 Python用PyQt5实现多种弹出消息框,QMessa ...

  7. python高手养成_Python用PyQt5制作颜色对话框,PyQt图形界面编程之QColorDialog

    前几篇内容我们介绍了PyQt5中3种常见的标准弹出对话框. 弹出对话框更加方便人机交流 Qt图形界面编程之QFileDialog类,Python用PyQt5制作文件对话框 如何通过Qt界面设置字体属性 ...

  8. 用python画画简单代码_Python3使用PyQt5制作简单的画板/手写板实例

    1.前言 版本:Python3.6.1 + PyQt5 写一个程序的时候需要用到画板/手写板,只需要最简单的那种.原以为网上到处都是,结果找了好几天,都没有找到想要的结果. 网上的要么是非python ...

  9. 基于pyqt5的翻译软件源代码,支持图片、截屏翻译,支持音标发音,翻译结果播报

    基于pyqt5的翻译软件源代码,支持图片.截屏翻译,支持音标发音,翻译结果播报,支持百度.有道翻译,已实现划词翻译,一键复制翻译结果.先安装程序依赖requirements.txt,然后运行main. ...

最新文章

  1. 首次使用gradle出现Could not find method leftShift() for arguments解决办法
  2. web前端技术杂谈--css篇(1)--浅谈margin(续)
  3. 【数据结构总结】第八章 排序
  4. oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法
  5. python面试题~反射,元类,单例
  6. 网络存储空间_Filecoin网络经济模型剖析
  7. Resource is out of sync with the file system解决办法
  8. 2500万美元和AI专家!谷歌出钱出人,要用AI做“对社会有益”的事情
  9. Xcode 输入时 搜索代码块前面标记的字母含义
  10. ubuntu14下搭建ssdb主从环境
  11. 锤子发布会2018的四个环节概述
  12. 【NLP】NLP数据标注工具汇总
  13. Java基础面试题(持续更新)
  14. 使用虚拟机安装操作系统可能出现的问题
  15. 团购幸存者:团购是个苦生意
  16. 半胱氨酸蛋白酶Caspase-8 Inhibitor I, 886462-83-5
  17. 宏碁E1-471G笔记本固态启动盘问题
  18. select函数介绍
  19. 数据库DDL与DML指的什么?
  20. 【小程序云开发】本地调试和云端测试的结果不一致,返回值result为null

热门文章

  1. css实现内容超出显示省略号且触碰显示完整内容
  2. 如何优雅地焊接第一块PCB
  3. OpenGL:颜色索引模式的使用方式
  4. HelloWorld的几种百变形态,程序员真会玩
  5. 静态常量池、运行时常量池、字符串常量池
  6. 如何向领导汇报工作(5)
  7. 【算法leetcode】2331. 计算布尔二叉树的值(多语言实现)
  8. Word2016文档“比较”功能介绍及其Bug处理(Bug能让人睡不着觉)
  9. Docker安装mysql镜像
  10. html+css实现页面顶部导航栏