欢迎光临散文网 会员登陆 & 注册

傻瓜读书软件的wxpython界面版本

2020-03-29 14:33 作者:一心想当网红的李老师  | 我要投稿

# -*- 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()


傻瓜读书软件的wxpython界面版本的评论 (共 条)

分享到微博请遵守国家法律