-->

Text Editor Software बनाना सीखे सरल भाषा मे |








Hello Dosto !


क्या आप MS -Word  जैसे अन्य कोई Text -Editor सॉफ्टवेयर बनाना  चाहते हैं  अगर हां तो आज हम आपके लिए एक बहुमूल्य जानकारी लेकर आए हैं जिसकी मदद से आप एक खुद का Text -Editor सॉफ्टवेयर  बना सकते है |  तो दोस्तों  चलिए शुरू करते हैं ।


Text -Editor  सॉफ्टवेयर बनाने के लिए आपको एक High - Level Programming Language आनी चाहिए । अगर आप Programming Language  सीखना चाहते हैं तो हम ने programming से related जानकारी अपनी web- Site  Apna Hindi Tech पर update कर दिए है और Programming से related Notes हमने अपने टेलीग्राम Channel पर Update कर दिय है |  

और अधिक जानकारी के लिए  नीचे दी गई लिंक पर क्लिक करें।👇



दोस्तों हम Text-Editor सॉफ्टवेयर पाइथन प्रोग्रामिंग की मदद से बनाएंगे।

Step-1:   सबसे पहले हम Text-Editor बनाने के लिए Python की Library Tkinter का उपयोग करेंगे उस के उपयोग से ही हम संपूर्ण Text-Editor को बनाएंगे और डिजाइन करेंगे।



Step-2:   अब हम पाइथन की Library Tkinter को import  करेंगे । import करने के लिए  आप नीचे दिए गए चित्र में देख सकते हैं ।


import tkinter as tk
from tkinter import ttk




Step-3:   अब हम पाइथन की अन्य लाइब्रेरी को जैसे Font, Colorchooser , filedialog, os और message box import करेंगे।


import tkinter as tk
from tkinter import ttk
from tkinter import font,colorchooser,filedialog,messagebox
import os





step-4:  अब हम Text-Editor का main menu और उसके आइकन को डिजाइन और सेट करेंगे।



main_application=tk.Tk()
main_application.geometry('1200x800')
main_application.title('SK TEXT EDITOR')
main_application.wm_iconbitmap('icon.ico')


################################################# main menu ####################################################################################################

main_menu=tk.Menu()
#file icons
new_icon=tk.PhotoImage(file='icons2/new.png')
open_icon=tk.PhotoImage(file='icons2/open.png')
save_icon=tk.PhotoImage(file='icons2/save.png')
save_as_icon=tk.PhotoImage(file='icons2/save_as.png')
exit_icon=tk.PhotoImage(file='icons2/exit.png')

file=tk.Menu(main_menu,tearoff=False)


# edit icons
copy_icon=tk.PhotoImage(file='icons2/copy.png')
paste_icon=tk.PhotoImage(file='icons2/paste.png')
cut_icon=tk.PhotoImage(file='icons2/cut.png')
clear_all_icon=tk.PhotoImage(file='icons2/clear_all.png')
find_icon=tk.PhotoImage(file='icons2/find.png')

edit=tk.Menu(main_menu,tearoff=False)


#view icons
tool_bar_icon=tk.PhotoImage(file='icons2/tool_bar.png')
status_bar_icon=tk.PhotoImage(file='icons2/status_bar.png')

view=tk.Menu(main_menu,tearoff=False)



## color theme icon
light_default_icon=tk.PhotoImage(file='icons2/light_default.png')
light_plus_icon=tk.PhotoImage(file='icons2/light_plus.png')
dark_icon=tk.PhotoImage(file='icons2/dark.png')
red_icon=tk.PhotoImage(file='icons2/red.png')
monokai_icon=tk.PhotoImage(file='icons2/monokai.png')
night_blue_icon=tk.PhotoImage(file='icons2/night_blue.png')

color_theme=tk.Menu(main_menu,tearoff=False)
theme_choice=tk.StringVar()
color_icons=(light_default_icon,light_plus_icon,dark_icon,red_icon,monokai_icon,night_blue_icon)
color_dict={
    'Light Default':('#000000','#ffffff'),
    'Light Plus':('#474747','#e0e0e0'),
    'Dark':('#c4c4c4','#2d2d2d'),
    'Red':('#2d2d2d','#ffe8e8'),
    'Monokai':('#d3b774','#474747'),
    'Night Blue':('#ededed','#6b9dc2')
}

#cascade
main_menu.add_cascade(label='File',menu=file)
main_menu.add_cascade(label='Edit',menu=edit)
main_menu.add_cascade(label='View',menu=view)
main_menu.add_cascade(label='Color Theme',menu=color_theme)

# #---------------------------&&&&&&&&&&&&&&&&&&&&& End main menu &&&&&&&&&------------




Step-5: अब हम Text-Editor का Tool-bar और Buttons और उसका Text Functionality के  Code को लिखेंगे। जो की इस प्रकार है 


text_editor=tk.Text(main_application)
text_editor.config(wrap='word',relief=tk.FLAT)

scrool_bar=tk.Scrollbar(main_application)
text_editor.focus_set()
scrool_bar.pack(side=tk.RIGHT,fill=tk.Y)
text_editor.pack(fill=tk.BOTH,expand=True)
scrool_bar.config(command=text_editor.yview)
text_editor.config(yscrollcommand=scrool_bar.set)

# font family and font size functionality
current_font_family='Arial'
current_font_size= 12

def change_font(event=None): # aap chye to yaha main_application bhi pass kra sakte hai
    global current_font_family
    current_font_family=font_family.get()
    text_editor.configure(font=(current_font_family,current_font_size))

def change_fontsize(event=None): #  yaha pr bhiaap chye to yaha main_application bhi pass kra sakte hai
    global current_font_size
    current_font_size=size_var.get()
    text_editor.configure(font=(current_font_family,current_font_size))

font_box.bind("<<ComboboxSelected>>",change_font)
font_size.bind("<<ComboboxSelected>>",change_fontsize)

text_editor.configure(font=('Arial',12))

## buttons functionality

# bold button functionality
def change_bold():
    text_property_bold=tk.font.Font(font=text_editor['font'])
    if text_property_bold.actual()['weight']=='normal':
        text_editor.configure(font=(current_font_family,current_font_size,'bold'))
        
    if text_property_bold.actual()['weight']=='bold':
        text_editor.configure(font=(current_font_family,current_font_size,'normal'))

bold_btn.configure(command=change_bold)  

# italic button functionality
def change_italic():
    text_property_italic=tk.font.Font(font=(text_editor['font']))
    if text_property_italic.actual()['slant']=='roman':
        text_editor.configure(font=(current_font_family,current_font_size,'italic'))
    
    if text_property_italic.actual()['slant']=='italic':
        text_editor.configure(font=(current_font_family,current_font_size,'roman'))

italic_btn.configure(command=change_italic)

# underline button functionality
def change_underline():
    text_property_underline=tk.font.Font(font=(text_editor['font']))
    if text_property_underline.actual()['underline']==0:
        text_editor.configure(font=(current_font_family,current_font_size,'underline'))
    if text_property_underline.actual()['underline']==1:
        text_editor.configure(font=(current_font_family,current_font_size,'normal'))

underline_btn.configure(command=change_underline) 


# font color functionality
def change_font_color():
    color_var=tk.colorchooser.askcolor()
    text_editor.configure(foreground=color_var[1])

font_color_btn.configure(command=change_font_color) 

## align functionality

# align left button functionality

def align_left():
    text_content=text_editor.get(1.0,'end')
    text_editor.tag_config('left',justify=tk.LEFT)
    text_editor.delete(1.0,tk.END)
    text_editor.insert(tk.INSERT,text_content,'left')

align_left_btn.configure(command=align_left)

# align center button functionality
def align_center():
    text_context=text_editor.get(1.0,'end')
    text_editor.tag_config('center',justify=tk.CENTER)
    text_editor.delete(1.0,tk.END)
    text_editor.insert(tk.INSERT,text_context,'center')

align_center_btn.configure(command=align_center) 

# align right button functionality
def align_right():
    text_context=text_editor.get(1.0,'end')
    text_editor.tag_config('right',justify=tk.RIGHT)
    text_editor.delete(1.0,tk.END)
    text_editor.insert(tk.INSERT,text_context,'right')

align_right_btn.configure(command=align_right)
# #-------------------------------------------&&&&& End text editor &&&&&&&&&&&&&&&&&&&&&&&&&&&------------------------------------------------------------------------------------



# #################################################  status bar ###############################################################################

status_bar=ttk.Label(main_application,text='Status Bar')
status_bar.pack(side=tk.BOTTOM)

text_changed=False
def changed(event=0):
    global text_changed
    if text_editor.edit_modified():
        text_changed=True
        words=len(text_editor.get(1.0,'end-1c').split())
        characters=len(text_editor.get(1.0,'end-1c').replace(" ",''))
        status_bar.config(text=f'Chracters : {characters} Words : {words}')
        text_editor.edit_modified(False)

text_editor.bind('<<Modified>>',changed) 









Step-6: अब हम Code को Run करेंगे और चेक करेंगे की हमारा कोड सही चल रहा है या नहीं।











दोस्तों आप देख सकते हैं हमारा Code एकदम सही चल रहा है।




Testing Video:













दोस्तों ऊपर लिखा हुआ Code Complete Code नहीं है अगर आप इस Text - Editor का  Complete Code चाहते हैं तो आप हमारे Telegram चैनल Apna Hindi Tech पर जाएं वहां पर आपको इस Text - Editor का Complete Source Code मिल जाएगा उसके साथ आपको Icons और Exe file भी मिल जाएगी तो दोस्तों जरूर Join  करें हमारा टेलीग्राम चैनल।




यह भी पढ़ें

4 comments

Post a Comment