美文网首页
python完成Windows通知栏Toast背英语单词

python完成Windows通知栏Toast背英语单词

作者: 刘小白DOER | 来源:发表于2022-04-15 00:04 被阅读0次

    最近研究的机器学习,接触到很多科研和实用工具,其实有一款ToastFish笔者感觉比较有意思,利用Windows通知栏背单词的软件。

GitHub https://github.com/Uahh/ToastFish 上有完整的介绍,是一个很好的英语单词的学习软件。但是作为一个有点想法的工程师,笔者觉得有几点不符合笔者的需求:

1、在任务栏存在图标,作为一个有强迫症的工程师有点无法忍受;

2、不能设置调制器的出现时间周期,个性化设置不够;

3、笔者只需要单一的功能,里面的日语等外语不需要。

    于是想起以前用python做的调制器,python win10toast实现时间和按键的提醒小工具以及python plyer库完成跨平台的通知器 。笔者就想着来改写一下,但是功能没有ToastFish完善,技术上没有领先,只是作为个性化的编程乐趣而已。英语数据库使用ToastFish的数据库。

    整个代码如下,主要由两部分组成:

1、sqlite数据库操作部分:

    sqlite3操作sqlite数据库并随机读取数据表中的数据。在最开始时笔者是使用SELECT COUNT(*)获取数据表的行数,然后random.randint(1,nums)生成数据数,最后使用where wordRank=num来随机选择数据条目,但是运行几次后发现程序提示headWord不存在,异常退出。使用Navicat Premium查看数据表发现wordRank是不连续的,随机时就存在不存在的wordRank,查询出错。

    后面笔者改为sql语句中来随机选择,使用ORDER BY RANDOM() limit 1来完成随机选择数据条目,更加方面,也不存在bug。

2、toast调制器生成部分:函数time_toast调用ToastNotifier模块完成windows通知。

    最终的代码如下:

    脚本有了,开机启动的方法在文章python win10toast实现时间和按键的提醒小工具 中有具体的设置方法。

  但是笔者遇到一个问题,想在toast上使用按钮来完成英语单词的声音播放,有道词典由这个接口usspeech_link = "http://dict.youdao.com/dictvoice?audio={}".format(usspeech) ,type0为美音,type1为英音 。但是搜索一番发现win10toast不支持按钮,但是笔者又不想不受控制的直接播放,于是就妥协了,只显示单词。

   

相关文章

网友评论

      本文标题:python完成Windows通知栏Toast背英语单词

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