Skip to content

Text editor created with Python3 and Tkinter for a GUI, with multithreaded features.

Notifications You must be signed in to change notification settings

VamsiKrishnaThigulla/Python-Text-Editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Text Editor

Text editor created with Python3 and Tkinter for a GUI, with multithreaded features.

To run the file, enter the following command into a terminal

python3 EditorMul.py

Functions:

File Menu:

File Menu

New File:

New File Text.delete(1.0,END) is used to clear the whole area.

Open File:

Open File File Opened askopenfilename is used to select the file to be opened.

Save File:

Save

Save As:

Save As asksaveasfilename is used to select the file in both instances of save.

Switch Theme:

Light Theme Dark Theme Text.config is used for switching between the themes.

Exit:

askokcancel is used to confirm from the user whether they want to exit the application and then destroy() method is run to destroy the instance and close the application.

Edit Menu:

Edit Menu

Select All:

Select All Tkinter events select(1.0,END), cut, copy, paste are used for the Select All, Cut, Copy, Paste functions respectively.

Find:

Find Find Result

def __find(self,event=None):

 t1=threading.Thread(target=self.\__finder());
 t1.start()
 t1.join()

Multithreading has been implemented in find feature.

Find and Replace:

Find FindandReplace FindandReplaceResult

def __findNReplace(self,event=None):

t1=threading.Thread(target=self.__findNReplaceF())

t1.start()

t1.join()

Multithreading has been implemented to ensure that Find and Replace does not interfere with working of the editor.

Clear All:

Clear

Spell Check:

File Choose Spell Check Note: Spell Check function works only with .txt files.

def __SpellCheck(self,event = None):

t1=threading.Thread(target=self.__SpellChecker())

t1.start()

t1.join()

Multithreading has been implemented in the Spell Check function to work parallelly and not block the working of the editor itself.

Help Menu:

Help Menu

Shortcuts:

Shortcuts messagebox.showinfo() is used to show the list of available shortcuts to the user.

Future improvements:

  • Create a tabbed version to work on multiple files simultaneously.
  • Implement undo, redo features.
  • Implement font selection, size change and color change features.
  • Implement the option to bold, italicize, underline, strikethrough text, etc.

References:

GeeksforGeeks tutorial on Text Editors using Tkiner - Basic Template
Template for Find and Replace
Tkinter Tutorial

About

Text editor created with Python3 and Tkinter for a GUI, with multithreaded features.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages