项目名称:懒人听书(基础版)
开发工具:pycharm
项目简介:打开文件选取文本(TXT小说),点击阅读

开始编程之前,首先需要明确思路,有了清晰的思路,编程就会相对的比较简单。

程序的编程思路如下:

1,首先需要一个整体的简易框架,创建一个整体的界面

2,为了使界面美观,要修改窗口的大小和位置,设置界面窗口的信息

3,框架完成之后,选择文件和阅读,需要相应的按钮,因而需要在窗口添加相应的控件

4,单纯的有按钮是不行的,还需要将按钮所需要具有的能力赋给按钮,因此需要创建功能函数并关联按钮

下面开始编程:

1,创建一个图形界面   程序窗口

稍微会用pycharm的都知道,程序运行一般都是在一个小黑框运行,但是我们一般开发的话都是在图形界面进行的,可以想象一下,你登录QQ的场景,双击QQ图标,跳出来的登录界面就是图形界面的一种。

使用图形界面的话,首先要在程序中引入python的一个tkinter库,这个库的作用就是用来创建图形界面的。

具体的引用为(名字有点长,所以将其定义为tk):

import tkinter as tk   # 用于创建图形界面程序的库

首先使用tk(tkinter,下文均简称为tk)中对应的Tk方法,这个方法是专门用来创建图形界面窗口的,定义好之后,我们给他起个名字叫window。

# 1,创建一个图形界面窗口     程序窗口
window = tk.Tk()      # 创建窗口

在这之后,我们添加“window.mainloop”代码,运行程序来显示结果(建议每一步都做完之后看看结果是否有改变,都有什么样的改变)。可以发现有了一个空白的窗口框,图形窗口就创建好了。

2,设置图形界面窗口的信息

第一步创建好之后,我们会发现,图形界面的名字就叫做tk,相较有点难看,我们首先给它个名字。创建标题有个简单的方法叫title,可以直接使用。

# 2,设置图形界面窗口的信息
window.title('懒人听书')    # 设置窗口名字

名字修改好之后,我们会发现,图形界面的大小不怎么好看,我们为了追求更好看一点,对他的大小进行一定的调整。实现自定义的窗口的大小和位置我们一般用geometry方法进行修改(这里面有个注意点,我一开始也搞错了)。

window.geometry('640x480')   # 设置窗口的大小 geometry中乘号用小写的x表示

3,创建相应的控件    文本框和按钮

第二步完成之后显示结果,发现只是一个空白的框,什么都没有,而我们需要导入文件和点击阅读,所以需要添加相应的按钮,有的时候可能还想边看边听,这个时候就需要向图形界面添加合适的文本框。

文本框的创建需要调用tk的一个Text方法创建,创建完毕之后,我们将它定义为text。

# 3,在窗口添加相应的控件
text = tk.Text(window)     # 创建文本框

创建之后运行,我们会发现,创建前后没有任何的区别,这是因为我们没有给这个文本框设置一个放置我的位置。 调用一个place的方法给文本框选择位置(x,y为对应的位置变量,width和height表示的是文本框的长宽,这个自行调整,自己满意就好)。

text.place(x=10, y=10, width=620, height=400)    # 设置文本框在窗口程序上的位置和大小

这样,文本框就创建好了。

按钮的创建方法需要调用tk的一个Button方法,说明创建的位置和按钮名称,具体如下:

button1 = tk.Button(window, text='选择书籍')   # 设置按钮
button2 = tk.Button(window, text='开始听书')

就这样,文本框和按钮设置好了。

4,创建功能函数并关联按钮   两个按钮函数

第三步运行之后,我们发现,虽然按钮给它设置好了,但是点击它却没有任何的反应,这是因为我们还没有给它进行功能的赋予,就像送礼物只有个礼物盒一样毫无意义,因此我们需要创建两个功能函数,让按钮的存在变得有意义。

首先,我们先创建一个选择并打开书籍的函数,第一步,我们先定义一个一看就懂的函数名select_file(选择文件),这个函数的功能是把我们选择的小说读取并显示到文本框。对文件进行选择,我们首先要引进一个叫filedialog的库来进行操作。

import tkinter.filedialog as tkf  # 用于选择文件并获取文件的路径

引用完毕之后,我们调用这个库,使用askopenfilename获取小说文件的路径,然后对其进行读取,并显示在文本框里。这样,选择文件的功能就创建完成了。

4,创建功能函数并关联按钮
# 创建一个选择并打开书籍的函数
def select_file():global book_textbook_text = ''path = tkf.askopenfilename()  # 获取文件路径with open(path, 'r', encoding='utf-8') as file:  # 打开电子书book_text = file.read()  # 读取电子书里的文字text.insert('end', book_text)  # 把读取出来的文字显示到文本框中

创建完成之后,我们运行,发现点击按钮还是无法选择,这是因为我们没有把功能和按钮进行结合,因此我们需要对第三步进行添加,添加完成之后就是这样子。

button1 = tk.Button(window, text='选择书籍', command=select_file)   # 设置按钮,并关联功能

之后,我们再创建一个可以用来阅读的函数,创建之前,我们也需要进行库的引进,这个库可以对文字进行阅读。

import pyttsx3  # 可以把文字转换为声音的库

库引进完成之后,我们就简单的调用这个库,对我们的文件进行阅读。这样,阅读的功能也创建好了。

# 创建一个可以阅读的函数
def broadcast_text():book = pyttsx3.init()   # 创建并初始化一个可以说话的对象book.say(book_text)     # 设置说话的内容book.runAndWait()       # 开始说话

之后如图之前一样,对按钮进行功能的赋予,整个过程项目就完成了。

button2 = tk.Button(window, text='开始听书',command=broadcast_text)

项目运行之后,我们就能得到一个可以听书的程序了。

第一次发,有说的不清楚的可以和我留言,或者有大佬可以给我一些指点的,万分感谢。

python自制懒人听书相关推荐

  1. python实现懒人听书

    import tkinter as tk # 文件选择框的库 import tkinter.filedialog as tkf # 智能语音库 import pyttsx3# 2.实现选择书籍功能 d ...

  2. 利用Python下载懒人听书音频保存,纯干货不废话!

    用Python爬到音频下载地址,再用Internet Download Manager批量自动下载 # -*- coding: utf-8 -*- """ Created ...

  3. 利用Python下载懒人听书音频保存

    用Python爬到音频下载地址,再用Internet Download Manager批量自动下载 # -*- coding: utf-8 -*- """ Created ...

  4. python自制简单懒人听书系统

    程序的编程思路如下: 1.首先需要一个整体的简易框架,创建一个整体的界面 2.为了使界面美观,要修改窗口的大小和位置,设置界面窗口的信息 3.窗口界面完成之后,选择文件和听书,需要相应的按钮,因而需要 ...

  5. python scrapy+Mongodb爬取蜻蜓FM,酷我及懒人听书

    1.初衷:想在网上批量下载点听书.脱口秀之类,资源匮乏,大家可以一试 2.技术:wireshark scrapy jsonMonogoDB 3.思路:wireshark分析移动APP返回的各种连接分类 ...

  6. 互联网日报 | 1月19日 星期二 | 腾讯音乐全资收购懒人听书;字节跳动整合硬件业务专注教育硬件;PSA与FCA正式完成合并...

    今日看点 ✦ 北京超10万滴滴司机完成疫苗接种,APP将显示已接种标签 ✦ 字节跳动调整硬件业务调整:原锤子科技团队并入教育硬件团队 ✦ 腾讯音乐27亿元收购懒人听书100%股权,后者将保持独立运营 ...

  7. 重庆新地标佛罗伦萨小镇将开业;雅高宣布2021年开业新酒店计划;阅文集团出售懒人听书股权​ | 美通企业周刊...

    一周企业资讯看点:阅文集团出售懒人听书股权,联发科发布全新旗舰5G芯片.上汽与阿里巴巴联合打造智己汽车.玛氏箭牌与阿里巴巴合作同城零售,eBay在大中华区推出管理支付服务,重庆新地标佛罗伦萨小镇即将开 ...

  8. 腾讯音乐收购懒人听书:后者已实现盈利,阅文集团获10亿元现金

    1月15日,腾讯音乐娱乐集团(NYSE:TME,下称"腾讯音乐")宣布以27亿元的价格收购音乐平台懒人听书.收购完成后,懒人听书将成为腾讯音乐的全资附属子公司. 据了解,懒人听书的 ...

  9. 阅文集团以人民币10.8亿元出售懒人听书股权给腾讯音乐

    中国领先的网络文学平台阅文集团(股份代号:0772.HK)宣布已达成最终协议,将深圳市懒人在线科技有限公司(懒人听书),一家中国有声阅读平台39.8821%的股权,按照人民币10.8亿元现金的总对价售 ...

  10. 【无限互联】学员作品:懒人听书

    项目介绍: 懒人听书是一款听书的好帮手,随时下载,随时听书,即可消磨时间,又可增长知识. 书看多了,眼睛容易累:网逛多了,容易倦.这时候,我们不妨换个方式来阅读,那就是最特殊最新潮的懒人'听书'.解放 ...

最新文章

  1. MOSS2010单点登录
  2. python中format的用法菜鸟教程-初学者必知的Python中优雅的用法
  3. Python基础-os模块 sys模块
  4. dll可以在linux下使用吗_Linux下安装和使用杀毒软件AntiVir
  5. 解决问题:Couldn't open file: data/coco.names
  6. C++ STL string修改
  7. 看看我能帮上大家的什么忙? 文平
  8. 一分钟理解python里面的functools.partial
  9. Plotly基础教程
  10. CSS3+jquery实现图片万花筒3D旋转动画特效
  11. 杜兰大学计算机专业,杜兰大学计算机专业
  12. [PAL规范]SAP HANA PAL 数据处理四分位间距检测Inter-quartile Range Test编程规范IQRTEST...
  13. Ant Design select下拉框突然拉长
  14. 姓张信息mysql_MySQL_数据查询
  15. 1038 01背包动态规划
  16. 前端实现给文字添加动态背景
  17. The request was rejected because the URL contained a potentially malicious String “//“
  18. TCP/IP篇(1)--协议模型
  19. 免费获得筹码分布接口交易数据,Tushare的使用方法
  20. 解决电脑按字母键出现数字的方法

热门文章

  1. OSX malware and exploit collection (~100 files) + links and resources for OSX malware analysis
  2. DIY开源mini桌面i3结构3D打印机--分析
  3. 排查DHCP(动态获取IP)服务器故障的经验 (好文推荐)
  4. rtmp中flv和flv文件的区别
  5. linux 下的绘图软件Visio
  6. JAVA项目之图书管理系统
  7. [三思笔记]一步一步学RMAN
  8. 电压比较器,电压比较器原理
  9. NC单点登录设置默认界面
  10. python正则表达式 身份证_正则表达式实现身份证信息验证