使用python创建一个windows桌面在线翻译小程序
1.首先需要制造打包的gui界面 这里小编使用的是 wxFormBuilder
下载地址:链接:https://pan.baidu.com/s/1DOe7TA6ap07ZsjcH4qzBIQ 密码:23qu
2.将wxFormBuilder 中创建的py文件名称叫做basewin.py 在同级目录下 新建一个相同的 main_win.py文件
basewin.py
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Jun 17 2015)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
###########################################################################
## Class BaseMainWind
###########################################################################
def make():
a="hello"
make()
class BaseMainWind(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title="在线翻译神器 作者..xiejiangpeng", pos=wx.DefaultPosition,
size=wx.Size(500, 200), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
self.icon = wx.Icon('logo.ico', wx.BITMAP_TYPE_ICO)
self.SetIcon(self.icon)
self.SetSizeHintsSz(wx.Size(10, 10), wx.DefaultSize)
bSizer2 = wx.BoxSizer(wx.VERTICAL)
self.wxStaticText = wx.StaticText(self, wx.ID_ANY, u"请输入你需要翻译的单词:", wx.DefaultPosition, wx.DefaultSize, 0)
self.wxStaticText.Wrap(-1)
bSizer2.Add(self.wxStaticText, 0, wx.ALL, 5)
self.text_main = wx.TextCtrl(self, wx.ID_ANY,wx.EmptyString, wx.DefaultPosition, wx.Size(500, 25),0)
bSizer2.Add(self.text_main, 0, wx.ALL, 5)
self.test_main2 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(500, 25),0)
bSizer2.Add(self.test_main2, 0, wx.ALL, 5)
self.button_main = wx.Button(self, wx.ID_ANY, u"点击此处进行翻译", wx.DefaultPosition, wx.Size(125,25), 0)
bSizer2.Add(self.button_main, 0, wx.ALL, 5)
self.SetSizer(bSizer2)
self.Layout()
self.Centre(wx.BOTH)
# Connect Events
self.button_main.Bind(wx.EVT_BUTTON, self.main_button_click)
def __del__(self):
pass
# Virtual event handlers, overide them in your derived class
def main_button_click(self, event):
event.Skip()
#
# app = wx.App()
# Fanyi=BaseMainWind(None)
# Fanyi.Show()
# Fanyi.main_button_click(event=Fanyi.button_main.Bind(wx.EVT_BUTTON, Fanyi.main_button_click))
# app.MainLoop()
main_win.py
# -*- coding: UTF-8 -*-
import wx
import basewin
import sys
import chardet
import hashlib
import random
import requests
import time
q=None
appid = "20180808000192593"
SecretKey = "9wOGlrFsKcjer4m0Pr9V"
salt = str(random.random())
q=None
reload(sys)
sys.setdefaultencoding('utf-8')
class MianWindow(basewin.BaseMainWind):
# 首先,咱们从刚刚源文件中将主窗体继承下来.就是修改过name属性的主窗体咯。
def init_main_window(self):
self.text_main.SetValue("")
def main_button_click(self, event):
def SignMake(q):
# 创建index字符串
index = appid + q + salt + SecretKey
# 对index进行md5加密
Md5 = hashlib.md5()
Md5.update(index)
str = Md5.hexdigest()
return str
q=str(self.text_main.GetValue())
if (q.strip()==""):
self.test_main2.SetValue("请在第一个输入框输入您需要翻译的单词.....")
else:
BaiDuFanYi = {'q': q, 'from': 'auto', 'to': 'auto', 'appid': appid, 'salt': salt, 'sign': SignMake(q)}
try:
BaiDuFanYi = requests.get("http://api.fanyi.baidu.com/api/trans/vip/translate", params=BaiDuFanYi)
try:
self.test_main2.SetValue(BaiDuFanYi.json()["trans_result"][0]["dst"])
except Exception:
self.test_main2.SetValue(BaiDuFanYi.json()["error_msg"] + "错误码:" + BaiDuFanYi.json()["error_code"])
except Exception as EX:
self.test_main2.SetValue("请求失败...检查电脑网络通畅")
if __name__ == '__main__':
app = wx.App()
main_win = MianWindow(None)
main_win.init_main_window()
main_win.Show()
app.MainLoop()
3.文件代码写好之后 我们就可以使用Pyinstall进行打包 (文件同级目录)命令:pyinstaller main_win.py -p basewin.py --noconsole -i logo.ico
4.打包之后 就能看到此目录下出现这样的文件了
5.之后点击dist中的main_win.exe文件 然后就会出现软件程序如下
6.对软件进行程序检测
a.输入中文
b.输入英文
c.输入特殊字符
d.输入空格以及不输入任何东西直接点击翻译
e.断网检测
6.bat文件代码
@echo off
::设置程序或文件的完整路径(必选)
set Program=%~dp0/dist/main_win/main_win.exe
::设置快捷方式名称(必选)
set LnkName=在线翻译神器
::设置程序的工作路径,一般为程序主目录,此项若留空,脚本将自行分析路径(可选)
set WorkDir=
::设置快捷方式显示的说明(可选)
set Desc=用于日常翻译 本程序需要连接网络...
if not defined WorkDir call:GetWorkDir "%Program%"
(echo Set WshShell=CreateObject("WScript.Shell"^)
echo strDesKtop=WshShell.SpecialFolders("DesKtop"^)
echo Set oShellLink=WshShell.CreateShortcut(strDesKtop^&"\%LnkName%.lnk"^)
echo oShellLink.TargetPath="%Program%"
echo oShellLink.WorkingDirectory="%WorkDir%"
echo oShellLink.WindowStyle=1
echo oShellLink.Description="%Desc%"
echo oShellLink.Save)>makelnk.vbs
echo 桌面快捷方式创建成功!
makelnk.vbs
del /f /q makelnk.vbs
exit
goto :eof
:GetWorkDir
set WorkDir=%~dp1
set WorkDir=%WorkDir:~,-1%
goto :eof
好啦最后在分享一份软件给你们 百度云地址:链接:链接:https://pan.baidu.com/s/1qe_TKSYyfNoVuv_Dp8Zn-g 密码:3g0j
解压之后 点击创建快捷方式到桌面 在桌面打开应用即可使用
上一篇: win10电脑win键被锁了怎么解决