看前面兄弟贴了一个,想起自己也写过一个,贴出来大家分享吧。
这里用Pyqt做界面,辞典主要是用dictcn提供的xml的api,方便了很多。
#!/usr/bin/env python
# -*-encoding:utf-8 -*-
##############################
# author: yanckin#gmail.com
# 2009.05.09 version 0.1
##############################
import sys
import urllib
from xml.etree.ElementTree import parse
from PyQt4.QtCore import *
from PyQt4.QtGui import *
LOOKUP_URL = "http://dict.cn/ws.php?utf8=true&q=%s"
class Form(QDialog):
def __init__(self,parent=None):
super(Form,self).__init__(parent)
self.browser = QTextBrowser()
self.lineedit = QLineEdit(u"输入单词,并按回车键")
self.lineedit.selectAll()
layout = QVBoxLayout()
layout.addWidget(self.lineedit)
layout.addWidget(self.browser)
self.setLayout(layout)
self.lineedit.setFocus()
self.connect(self.lineedit,SIGNAL("returnPressed()"),self.updateUi)
self.setWindowTitle(u"小译通")
def updateUi(self):
word = unicode(self.lineedit.text())
url = LOOKUP_URL % word
dictcn = parse(urllib.urlopen(url)).getroot()
if not dictcn.find('pron'):
word = '[%s]'%word
url = LOOKUP_URL % word
dictcn = parse(urllib.urlopen(url)).getroot()
self.browser.clear()
self.browser.append(u"<h3><font color=blue>您要找的是不是:\n\n</font></h2>" )
similarwords = ', '.join([i.text for i in dictcn.findall('sugg')])
self.browser.append(u"<font color=red>%s\n\n</font>" %similarwords )
else:
pron = dictcn.find('pron').text
define = dictcn.find('def').text
self.browser.clear()
self.browser.append(u"<h2><font color=green>%s [%s]\n\n</font></h2>"%(word,pron))
self.browser.append(u"<h3><font color=blue>含义:\n\n</font></h3>" )
self.browser.append(u"<font color=red>%s\n\n</font>" %define )
self.browser.append(u"<h3><font color=blue>例句:\n\n</font></h3>" )
for i,sent in enumerate(dictcn.findall('sent')):
orig = sent.find('orig').text
trans = sent.find('trans').text
self.browser.append(u"<font color=#ff00ff>%s. %s</font>"%(i,orig))
self.browser.append(u" %s"%trans )
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()
分享到:
- 2009-07-28 00:32
- 浏览 711
- 评论(5)
- 论坛回复 / 浏览 (3 / 6183)
- 查看更多
相关推荐
在Python编程领域,开发一个电子词典应用是一个常见的实践项目,尤其对于初学者来说,它可以帮助巩固基础并学习新技能。本项目主要涉及到两个核心技术点:一是利用API接口,如百度翻译API,二是通过网络爬虫获取数据...
可做python程序设计的课程设计,课程小作业,在这个作业中,您将被要求使用PyQt6生成一个旁猜游戏应用程序。这将允许两个玩家在同一个房间里玩图片词典游戏,并通过选择创建一系列不同格式的文件来导出他们的图纸。...
本项目是一个基于Python语言开发的单词记忆软件,其核心特点是采用了PyQt5库来构建用户界面(UI),并集成了数据库功能,使得用户可以个性化设置单词的出现方式,如随机显示和显示颜色,以增强记忆效果。此外,该...
毕设&课设&项目&实训基于python的wxpy结合mysql数据库做的一个微信娱乐机器人,可以智能聊天,查天气,讲故事,玩成语接龙,查成语词典等功能。 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、...
总的来说,AlphaDict是一个强大而灵活的词典工具,它结合了开放性、跨平台和自定义功能,为语言学习和教学提供了一个创新的解决方案。无论你是学生、教师还是编程爱好者,AlphaDict都值得你去探索和利用。
程序读取源文件路径下的txt格式词典文件,若没有就创建一个。词典文件存储方式为“英文单词 中文单词”,每行仅有一对中英释义。程序会根据用户的选择进入相应的功能模块,并显示相应的操作提示。当添加的单词已存在...
电子词典是一款便携式的学习工具,主要用于查找和学习词汇,尤其在语言学习领域中有着广泛的应用。在当今数字化时代,电子词典已从传统的硬件设备转变为软件应用,甚至发展为开源项目,允许用户和开发者自由地查看、...
总的来说,这款“日语词典”软件不仅是一个学习工具,也是一个软件工程的实例,展示了如何将语言学习需求转化为可操作的代码。通过研究源码,开发者可以借鉴其设计模式,改进自己的项目,而学习者则可以通过了解其...
总的来说,"C/S模型的英英词典"是一个综合了客户端开发、服务器端编程、网络通信、数据库管理和系统优化等多个方面的项目,它不仅提供了实用的语言学习工具,也是学习和实践网络编程技术的好案例。
“cd3.rar_词典简单”是一个小型的词汇查询应用,它提供了基础的单词查找、解释展示以及添加新词汇的功能。这款应用设计简洁,易于操作,旨在满足用户快速查阅单词和积累词汇的需求。通过压缩包中的“cd3”文件,...
《二十四传统节气科普百科词典程序源码》是一个用于理解和探索中国传统文化的软件项目,主要功能是介绍和科普中国的二十四节气。源码的开放为开发者提供了学习和研究的平台,通过分析和理解代码,我们可以深入理解...
Jyut字典-离线粤语字典/jyːtˈdɪkʃənɛɹi / 一个程序,可以用普通话或广东话查找单词,并提供简体中文,繁体中文,拼音,抄写和英文输入。 适用于macOS,Windows和Ubuntu。产品特点大量条目。 Jyut词典使用...
2. **编程语言和框架**:根据“源码”标签,我们可以探讨可能使用的编程语言,如Python、Java、C#或JavaScript,以及可能采用的软件开发框架,如Qt、Electron或React Native。 3. **开源软件实践**:如果软件是开源...
2. **软件/插件开发**:这个标签表明源码不仅包含一个独立的应用程序,也可能包括插件或者扩展,这些可以增强或定制汉语大辞典的功能,以满足不同用户的需求。 3. **汉语处理**:开发汉语辞典源码涉及到对汉字、...
猜数字游戏是一种经典的智力挑战游戏,玩家需要根据电脑随机生成的一个数字进行猜测,然后系统会提示玩家猜测的数字是偏大还是偏小,直到玩家猜中为止。在这个名为“猜数字2”的源码中,我们可以深入探讨其背后的...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...