利用PyQt5制作电子词典

作者: Damon0626 | 来源:发表于2019-01-22 11:31 被阅读52次

    详细代码参考github,如果喜欢,欢迎starfork

    利用PyQt5制作电子词典

    年前(2018年12月22日)Crossin编程教室发布了一个制作电子词典的小作业,自己懒懒散散的做了一个,大体上的功能都实现了。码的过程,个人觉得对入门python还是有一定的帮助,就整理了下,一为复习总结,二来随意吧☺。

    主要功能

    1.每日一句,中英文对照(调用金山词霸API);
    2.单词翻译,显示中文释义和音标(调用金山词霸API);
    3.添加生词;
    4.单词复习;
    5.单词总数显示;
    6.本周添加单词数柱状图显示;
    7.当前运行用户和生词本路径显示


    上图:

    我的 每日一句 单词翻译 单词复习 生词本
    涉及到的知识点

    简要列出,具体实现代码见github

    1.PyQt5

    1.QDialog使用;
    2.QPushButton按钮使用、信号槽;
    3.QStatusBar状态栏使用;
    4.QFrame页面使用;
    5.QLabel标签使用、设置像素图显示图片;
    6.QTextBrower文本显示框使用;
    7.QLineEdit输入框使用;
    8.QTableWidget表格使用、设置表头、内容等操作;
    9.上述各元件属性的设置,包括字体、背景、字号、位置、格式......

    2.Pandas & CSV & Numpy

    利用常用的几个数据处理的库,简直不能再好用,处理csv文件也特别好用,这里没有特殊处理,用户可以直接打开,有需求可以使用pickle阻止用户直接预览

    使用CSV来创建生词本dic.csv,单次写入等操作用Pandas配合Numpy处理

    1.read_csv
    2.dataframe
    3.writerow;

    3.Request

    首页调用了金山词霸的API,显示其每日一句内容,原本打算直接使用Qt的web组件来显示内容,但是显示的太随心所欲了,驾驭不了...

    1.request.get获取所有内容;
    2.request.get().json()将内容专为json格式,具体的key对应的内容,可以去搜索,根据自己需求获取对应的内容,这里不列出;

    4.Datetime

    要显示每周学习的情况,添加生词的时候直接插入了时间

    1.datetime.now().strftime()按照格式设置当前时间;
    2.datetime.delta()计算日期差;

    5.matplotlib.pyplot

    主要用来显示本周添加生词数

    1.plt.bar()柱状图;
    2.plt.text()添加文字说明;
    3.plt.style.use()更换显示格式,本文使用ggplot;
    4.plt.figure()图像;
    5.FigureCanvas画布;

    6.os & getpass

    我的页面,附加信息获取当前运行用户的host和当前运行本程序的path

    1.os.getcwd()获取当前运行路径;
    2.getpass.getuser()获取当前主机名;


    写在后面

    简单的实现了主要的功能,当然还可以更复杂,如:

    1.添加用户登录、验证等功能;
    2.将单词本换成服务器端的数据库存储,可以实现更换设备登录后自动恢复生词本;
    3.获取用户GPS地址,显示周围的小伙伴;
    4.对学习情况进行排名;
    5.复习单词策略更科学;
    .......

    相关文章

      网友评论

        本文标题:利用PyQt5制作电子词典

        本文链接:https://www.haomeiwen.com/subject/ikrljqtx.html