`
wayhome
  • 浏览: 1012 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

也发一个python小辞典(Qt版)

阅读更多

看前面兄弟贴了一个,想起自己也写过一个,贴出来大家分享吧。

 

这里用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_()
分享到:
评论
5 楼 cow13000 2009-12-10  
刚开始学习
粘下来看看
4 楼 wayhome 2009-12-09  
風之舞 写道
我把:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        dictcn = parse(urllib.urlopen(url)).getroot()  
        if not dictcn.find('pron'):   # 這句
            word = '[%s]'%word 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
換成:

if not dictcn.findtext('pron',default=False):

程序才能正常運行...


这个应该不至于,返回的肯定是boolean,难道你是py3k?

 
>>> text ="hello,world"
>>> not text.find("hello")
True
>>> not text.find("good")
False
3 楼 風之舞 2009-11-23  
我把:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        dictcn = parse(urllib.urlopen(url)).getroot()  
        if not dictcn.find('pron'):   # 這句
            word = '[%s]'%word 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
換成:

if not dictcn.findtext('pron',default=False):

程序才能正常運行...
2 楼 jamiesun 2009-10-09  
smiletuna 写道
pyqt 现在用 py2exe 能 正确打包么?

完全没问题
1 楼 smiletuna 2009-09-12  
pyqt 现在用 py2exe 能 正确打包么?

相关推荐

    python制作电子词典、GUI界面

    在Python编程领域,开发一个电子词典应用是一个常见的实践项目,尤其对于初学者来说,它可以帮助巩固基础并学习新技能。本项目主要涉及到两个核心技术点:一是利用API接口,如百度翻译API,二是通过网络爬虫获取数据...

    python画图小游戏

    可做python程序设计的课程设计,课程小作业,在这个作业中,您将被要求使用PyQt6生成一个旁猜游戏应用程序。这将允许两个玩家在同一个房间里玩图片词典游戏,并通过选择创建一系列不同格式的文件来导出他们的图纸。...

    python记单词软件项目源码,词典pyqt5有ui界面数据库可设置单词随机出现显示颜色英语字典词典

    本项目是一个基于Python语言开发的单词记忆软件,其核心特点是采用了PyQt5库来构建用户界面(UI),并集成了数据库功能,使得用户可以个性化设置单词的出现方式,如随机显示和显示颜色,以增强记忆效果。此外,该...

    毕设&课设&项目&实训基于python的wxpy结合mysql数据库做的一个微信娱乐机器人.zip

    毕设&课设&项目&实训基于python的wxpy结合mysql数据库做的一个微信娱乐机器人,可以智能聊天,查天气,讲故事,玩成语接龙,查成语词典等功能。 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、...

    AlphaDict它是一个轻量级的开放词典格式的开源词典软件

    总的来说,AlphaDict是一个强大而灵活的词典工具,它结合了开放性、跨平台和自定义功能,为语言学习和教学提供了一个创新的解决方案。无论你是学生、教师还是编程爱好者,AlphaDict都值得你去探索和利用。

    Pyqt5实现英文学习词典

    程序读取源文件路径下的txt格式词典文件,若没有就创建一个。词典文件存储方式为“英文单词 中文单词”,每行仅有一对中英释义。程序会根据用户的选择进入相应的功能模块,并显示相应的操作提示。当添加的单词已存在...

    电子词典哦~源代码

    电子词典是一款便携式的学习工具,主要用于查找和学习词汇,尤其在语言学习领域中有着广泛的应用。在当今数字化时代,电子词典已从传统的硬件设备转变为软件应用,甚至发展为开源项目,允许用户和开发者自由地查看、...

    日语词典软件 源码

    总的来说,这款“日语词典”软件不仅是一个学习工具,也是一个软件工程的实例,展示了如何将语言学习需求转化为可操作的代码。通过研究源码,开发者可以借鉴其设计模式,改进自己的项目,而学习者则可以通过了解其...

    C/S模型的英英词典

    总的来说,"C/S模型的英英词典"是一个综合了客户端开发、服务器端编程、网络通信、数据库管理和系统优化等多个方面的项目,它不仅提供了实用的语言学习工具,也是学习和实践网络编程技术的好案例。

    cd3.rar_词典简单

    “cd3.rar_词典简单”是一个小型的词汇查询应用,它提供了基础的单词查找、解释展示以及添加新词汇的功能。这款应用设计简洁,易于操作,旨在满足用户快速查阅单词和积累词汇的需求。通过压缩包中的“cd3”文件,...

    二十四传统节气科普百科词典程序源码.zip

    《二十四传统节气科普百科词典程序源码》是一个用于理解和探索中国传统文化的软件项目,主要功能是介绍和科普中国的二十四节气。源码的开放为开发者提供了学习和研究的平台,通过分析和理解代码,我们可以深入理解...

    jyut-dict:适用于桌面的跨平台离线粤语词典。 Qt,SQLite。 C ++和Python

    Jyut字典-离线粤语字典/jyːtˈdɪkʃənɛɹi / 一个程序,可以用普通话或广东话查找单词,并提供简体中文,繁体中文,拼音,抄写和英文输入。 适用于macOS,Windows和Ubuntu。产品特点大量条目。 Jyut词典使用...

    英语词典软件

    2. **编程语言和框架**:根据“源码”标签,我们可以探讨可能使用的编程语言,如Python、Java、C#或JavaScript,以及可能采用的软件开发框架,如Qt、Electron或React Native。 3. **开源软件实践**:如果软件是开源...

    商业源码-编程源码-LOUHOME汉语大辞典源码.zip

    2. **软件/插件开发**:这个标签表明源码不仅包含一个独立的应用程序,也可能包括插件或者扩展,这些可以增强或定制汉语大辞典的功能,以满足不同用户的需求。 3. **汉语处理**:开发汉语辞典源码涉及到对汉字、...

    猜数字游戏 源码

    猜数字游戏是一种经典的智力挑战游戏,玩家需要根据电脑随机生成的一个数字进行猜测,然后系统会提示玩家猜测的数字是偏大还是偏小,直到玩家猜中为止。在这个名为“猜数字2”的源码中,我们可以深入探讨其背后的...

    [工具查询]渝海在线英汉词典百度版 v1.1_yh_chidian.rar

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...

    电子词典 代码进一步完善 增加“翻译句子”的功能.zip

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...

    渝海在线英汉词典百度版 v1.1_yh_chidian_工具查询网站开发模板(使用说明+PHP源代码+html).zip

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...

Global site tag (gtag.js) - Google Analytics