程序的编程思路如下:
1、首先需要一个整体的简易框架,创建一个整体的界面
2、为了使界面美观,要修改窗口的大小和位置,设置界面窗口的信息
3、窗口界面完成之后,选择文件和听书,需要相应的按钮,因而需要在窗口添加相应的控件
4、只有按钮还不行的,还需要将按钮所需要具有的功能赋给按钮,因此需要创建功能函数并关联按钮
1、导入相关库
import tkinter as tk # python自带的图像界面模块
import tkinter.filedialog as tkf # 打开选择文件对话框的模块
import pyttsx3 # 念书的模块
from tkinter import messagebox # 提示框
2、定义打开文本内容的函数
def open_file():
global book_text # 设置全局变量
book_text = '' # 设置为空字符串
path = tkf.askopenfilename()
if not path:
messagebox.showinfo('出错了', '请选择.txt文件')
else:
with open(path,'r',encoding='utf-8') as f:
book_text = f.read()
text.insert('end',book_text) # 往文本框中填入文本
3、定义念书的函数
def broadcast_text():
if not text.get('1.0','1.1'):
messagebox.showinfo('出错了','还没有内容哦,请先选择.txt文件')
else: #解决当未选择文本时,点击开始按钮的情况,生成程序时,点击按钮不变化
book = pyttsx3.init() # 创建念书程序
book.setProperty('rate', 450) # 设置播放倍数
book.say(book_text) # 设置要读取的内容
book.runAndWait() # 开始念书
book.stop()
4、创建图形界面 GUI
window = tk.Tk() # 创建图像窗口
window.title('懒人听书系统') # 设置标题
window.geometry('640x480') # 设置窗体大小
5、在窗口界面创建其他的UI控件(文本框、按钮等)
text = tk.Text(window) # 创建一个文本框
text.place(x=30,y=30,width=600, height=400) # 设置文本框位置和大小
select_button = tk.Button(window,text='选择书籍',command=open_file) # 创建按钮
select_button.place(x=100,y=430,width=150,height=30) # 设置选择书籍按钮位置和大小
look_button = tk.Button(window,text='开始听书',command=broadcast_text) # 创建按钮
look_button.place(x=250,y=430,width=150,height=30) # 设置开始听书按钮位置和大小
quit_button = tk.Button(window,text='退出',command=window.quit)# 创建按钮
quit_button.place(x=400,y=430,width=150,height=30) # 设置退出按钮位置和大小
6、 启动图像界面
window.mainloop() # 开启图形界面
7、运行后的图像界面
项目系统全部代码
# coding:utf-8
import tkinter as tk # python自带的图像界面模块
import tkinter.filedialog as tkf # 打开选择文件对话框的模块
import pyttsx3 # 念书的模块
from tkinter import messagebox # 提示框
# 一、定义函数
# 1.打开文本函数
def open_file():
global book_text # 设置全局变量
book_text = '' # 设置为空字符串
path = tkf.askopenfilename()
if not path:
messagebox.showinfo('出错了', '请选择.txt文件')
else:
with open(path,'r',encoding='utf-8') as f:
book_text = f.read()
text.insert('end',book_text) # 往文本框中填入文本
# 2.念书函数
def broadcast_text():
if not text.get('1.0','1.1'):
messagebox.showinfo('出错了','还没有内容哦,请先选择.txt文件')
else: #解决当未选择文本时,点击开始按钮的情况,生成程序时,点击按钮不变化
book = pyttsx3.init() # 创建念书程序
book.setProperty('rate', 450) # 设置播放倍数
book.say(book_text) # 设置要读取的内容
book.runAndWait() # 开始念书
book.stop()
# 二、定义图像界面
# 1. 创建图形界面 GUI
window = tk.Tk() # 创建图像窗口
window.title('懒人听书系统') # 设置标题
window.geometry('640x480') # 设置窗体大小
# window.config(bg='blue')
# 2. 在窗口界面创建其他的UI控件
text = tk.Text(window) # 创建一个文本框
text.place(x=30,y=30,width=600, height=400) # 设置文本框位置和大小
select_button = tk.Button(window,text='选择书籍',command=open_file) # 创建按钮
select_button.place(x=100,y=430,width=150,height=30) # 设置选择书籍按钮位置和大小
look_button = tk.Button(window,text='开始听书',command=broadcast_text) # 创建按钮
look_button.place(x=250,y=430,width=150,height=30) # 设置开始听书按钮位置和大小
quit_button = tk.Button(window,text='退出',command=window.quit)# 创建按钮
quit_button.place(x=400,y=430,width=150,height=30) # 设置退出按钮位置和大小
window.mainloop() # 开启图形界面