import tkinter as tk
root = tk.Tk()
root.geometry("1000x750")
root.resizable(False, False)
root.title("My Notes")
my_text = tk.Text(root, font=('Arial', 18), width=100, height=75)
my_text.pack()
root.mainloop()
You can get the text from the widget with the my_text.get method.
If you want all of the text, give the start index as '1.0' (line 1, column 0) and the end index as 'end'.
Note that after root.mainloop() returns, the widget won’t exist any longer, so here I’m getting it when the window closes:
import tkinter as tk
root = tk.Tk()
root.geometry("1000x750")
root.resizable(False, False)
root.title("My Notes")
my_text = tk.Text(root, font=('Arial', 18), width=100, height=75)
my_text.pack()
def on_close():
    print(my_text.get('1.0', 'end'))
    root.destroy()
root.protocol('WM_DELETE_WINDOW', on_close)
root.mainloop()
              
              
              1 Like
            
            
          You can use the json module’s dump() function to write out the text to a JSON file. I had ChatGPT write out the code (though it took several iterations to get right and I needed to add a Save button and a confirmation message box. Also it can only save to notes.json but you can edit this if needed.):
import tkinter as tk
import json
from tkinter import messagebox
def save_to_json():
    text_content = my_text.get("1.0", tk.END).strip()  # Get text from the widget
    data = {"notes": text_content}  # Store in a dictionary
    with open("notes.json", "w", encoding="utf-8") as file:
        json.dump(data, file, indent=4)  # Save as JSON
    # Show a message box confirming save
    messagebox.showinfo("Save Successful", "File saved as notes.json")
# Create main window
root = tk.Tk()
root.geometry("1000x750")
root.resizable(False, False)
root.title("My Notes")
# Create a frame to organize widgets
frame = tk.Frame(root)
frame.pack(fill="both", expand=True)
# Create text area
my_text = tk.Text(frame, font=('Arial', 18))
my_text.pack(fill="both", expand=True, side="top")
# Save button (placed at the bottom)
save_button = tk.Button(root, text="Save", font=("Arial", 14), command=save_to_json)
save_button.pack(side="bottom", pady=10)  # Ensure it appears at the bottom
root.mainloop()
              
              
              1 Like