利用PyQt5制作电子词典

详细代码参考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对应的内容,可以去搜索,根据自己需求获取对应的内容,这里不列出;

扫描二维码关注公众号,回复: 6097459 查看本文章
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.复习单词策略更科学;

猜你喜欢

转载自blog.csdn.net/u013617229/article/details/86590116
今日推荐