hi and im using python 3.7 tkinter to coding notepad.
the scroll bar is not working properly
can anyone fix that?
thanks for the answer.
import os
from tkinter import *
from tkinter import filedialog, colorchooser, font
from tkinter.messagebox import *
from tkinter.filedialog import *
import logging
def change_color():
color = colorchooser.askcolor(title="Change color to...")
text_area.config(fg=color[1])
def new_file():
window.title("Untitled")
text_area.delete(1.0, END)
def open_file():
file = askopenfilename(defaultextension=".txt",
file=[("All Files", "*.*"),
("Text Documents", "*.txt")])
if file is None:
return
else:
try:
window.title(os.path.basename(file) + " - FlexPad")
text_area.delete(1.0, END)
file = open(file, "r")
text_area.insert(1.0, file.read())
except Exception:
window.title("FlexPad v1.0")
finally:
file.close()
def save_file():
file = filedialog.asksaveasfilename(initialfile='*.txt',
defaultextension=".txt",
filetypes=[("All Files", "*.*"),
("Text Documents", "*.txt")])
if file is None:
return
else:
try:
window.title(os.path.basename(file))
file = open(file, "w")
file.write(text_area.get(1.0, END))
except Exception:
print("couldn't save file")
finally:
file.close()
def cut():
text_area.event_generate("<<Cut>>")
def copy():
text_area.event_generate("<<Copy>>")
def paste():
text_area.event_generate("<<Paste>>")
def about():
showinfo("About this program", "TextEditor Version 1.0")
def help():
showinfo("Help", "Coming Soon!")
def quit():
window.destroy()
window = Tk()
window.title("TextEditor v1.0")
file = None
window_width = 500
window_height = 500
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
x = int((screen_width / 2) - (window_width / 2))
y = int((screen_height / 2) - (window_height / 2))
window.geometry("{}x{}+{}+{}".format(window_width, window_height, x, y))
font_name = StringVar(window)
font_name.set("Times New Roman")
font_size = StringVar(window)
font_size.set("13")
text_area = Text(window, font=(font_name.get(), font_size.get()))
scroll_bar = Scrollbar(text_area)
window.grid_rowconfigure(0, weight=1)
window.grid_columnconfigure(0, weight=1)
text_area.grid(sticky=N + E + S + W)
scroll_bar.pack(side=RIGHT, fill=Y)
text_area.config(yscrollcommand=scroll_bar.set)
menu_bar = Menu(window)
window.config(menu=menu_bar)
file_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="File", menu=file_menu)
file_menu.add_command(label="New", command=new_file)
file_menu.add_command(label="Open", command=open_file)
file_menu.add_command(label="Save", command=save_file)
file_menu.add_separator()
file_menu.add_command(label="Exit", command=quit)
edit_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="Edit", menu=edit_menu)
edit_menu.add_command(label="Cut", command=cut)
edit_menu.add_command(label="Copy", command=copy)
edit_menu.add_command(label="Paste", command=paste)
edit_menu.add_command(label="Change Color", command=change_color)
help_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="Help", menu=help_menu)
help_menu.add_command(label="Help", command=help)
help_menu.add_command(label="About", command=about)
window.mainloop()