傻瓜读书软件的wxpython界面版本
# -*- coding: utf-8 -*-
"""
Created on Sun Mar 29 13:53:29 2020
@author: liyan
"""
import os
import importlib,sys
importlib.reload(sys)
from docx import Document
from docx.shared import Inches
import pyttsx3
import wx
l=[]
class mainframe(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self,parent,title='读书软件',size=(480,320))
self.BeginBtn = wx.Button(self,label='打开文件',pos=(5,5),size=(80,25))
self.BeginBtn.Bind(wx.EVT_BUTTON,self.openfile)
self.inputBtn= wx.Button(self,label='清空内容',pos=(105,5),size=(80,25))
self.inputBtn.Bind(wx.EVT_BUTTON,self.cleartext)
self.readBtn= wx.Button(self,label='开始读书',pos=(205,5),size=(80,25))
self.readBtn.Bind(wx.EVT_BUTTON,self.readtext)
self.text = wx.TextCtrl(self, pos=(15,30), size =(360,200), style = wx.TE_MULTILINE)
def openfile(self,event):
global file_path,l
wildcard = 'All files(*.*)|*.*'
dialog = wx.FileDialog(None,'select',os.getcwd(),'',wildcard,wx.FD_OPEN)
if dialog.ShowModal() == wx.ID_OK:
file_path=dialog.GetPath()
if os.path.splitext(str(file_path))[1]=='.txt': ###对于TXT文件的处理
f=open(file_path,encoding='utf-8')
fread=f.read()
f=str(fread)
self.text.AppendText(f)
elif os.path.splitext(str(file_path))[1]=='.docx': ###对于WORD文件处理
f=Document(file_path)
for para in f.paragraphs:
l.append(para.text)
self.text.AppendText(str(l))
def cleartext(self,event):
self.text.Clear()
def readtext(self,event):
global l
l=self.text.GetValue()
engine=pyttsx3.init()
engine.say(str(l))
engine.runAndWait()
if __name__=='__main__':
app = wx.App()
SiteFrame = mainframe(parent=None)
SiteFrame.Show()
app.MainLoop()