Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- from tkinter import Menu, filedialog, messagebox
- def new_file():
- """Limpa a área de texto para criar um novo arquivo."""
- text_area.delete(1.0, tk.END)
- def open_file():
- """Abre um arquivo de texto e exibe o conteúdo na área de texto."""
- try:
- file_path = filedialog.askopenfilename(filetypes=[("Text Files", "*.txt")])
- if file_path:
- with open(file_path, "r") as file:
- content = file.read()
- text_area.delete(1.0, tk.END)
- text_area.insert(tk.END, content)
- except Exception as e:
- messagebox.showerror("Erro", f"Não foi possível abrir o arquivo: {e}")
- def save_file():
- """Salva o conteúdo da área de texto em um arquivo de texto."""
- try:
- file_path = filedialog.asksaveasfilename(defaultextension=".txt", filetypes=[("Text Files", "*.txt")])
- if file_path:
- with open(file_path, "w") as file:
- content = text_area.get(1.0, tk.END)
- file.write(content)
- except Exception as e:
- messagebox.showerror("Erro", f"Não foi possível salvar o arquivo: {e}")
- def show_about():
- """Exibe uma mensagem de informação sobre o aplicativo."""
- messagebox.showinfo("Sobre", "Bloco de Notas simples feito em Python. 2024, Mizuno")
- def copy_text(event=None):
- """Copia o texto selecionado."""
- text_area.event_generate('<<Copy>>')
- def paste_text(event=None):
- """Cola o texto da área de transferência."""
- text_area.event_generate('<<Paste>>')
- def show_context_menu(event):
- """Exibe o menu de contexto ao clicar com o botão direito."""
- context_menu.tk_popup(event.x_root, event.y_root)
- # Cria a janela principal
- root = tk.Tk()
- root.title("Bloco de Notas em Python")
- # Define a resolução para 1366x768 e centraliza a janela na tela
- window_width = 1366
- window_height = 768
- # Obtém a largura e altura da tela
- screen_width = root.winfo_screenwidth()
- screen_height = root.winfo_screenheight()
- # Calcula a posição x e y para centralizar a janela
- position_x = (screen_width // 2) - (window_width // 2)
- position_y = (screen_height // 2) - (window_height // 2)
- # Define a geometria da janela
- root.geometry(f"{window_width}x{window_height}+{position_x}+{position_y}")
- # Cria a área de texto
- text_area = tk.Text(root, wrap='word', undo=True)
- text_area.pack(expand=True, fill='both')
- # Cria a barra de menu
- menu_bar = Menu(root)
- root.config(menu=menu_bar)
- # Adiciona os menus
- file_menu = Menu(menu_bar, tearoff=0)
- menu_bar.add_cascade(label="Arquivo", menu=file_menu)
- file_menu.add_command(label="Novo", command=new_file)
- file_menu.add_command(label="Abrir", command=open_file)
- file_menu.add_command(label="Salvar", command=save_file)
- file_menu.add_separator()
- file_menu.add_command(label="Sair", command=root.quit)
- about_menu = Menu(menu_bar, tearoff=0)
- menu_bar.add_cascade(label="Sobre", menu=about_menu)
- about_menu.add_command(label="Sobre", command=show_about)
- # Cria o menu de contexto
- context_menu = Menu(root, tearoff=0)
- context_menu.add_command(label="Copiar", command=copy_text)
- context_menu.add_command(label="Colar", command=paste_text)
- # Vincula o menu de contexto ao clique direito do mouse
- text_area.bind("<Button-3>", show_context_menu)
- # Inicia a aplicação
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement