Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- from tkinter import filedialog, messagebox
- import requests
- import webbrowser
- # Função para centralizar janelas
- def centralizar_janela(janela, largura, altura):
- janela.update_idletasks()
- largura_tela = janela.winfo_screenwidth()
- altura_tela = janela.winfo_screenheight()
- x = (largura_tela - largura) // 2
- y = (altura_tela - altura) // 2
- janela.geometry(f"{largura}x{altura}+{x}+{y}")
- # Função para abrir o link no navegador
- def abrir_link(event, link):
- webbrowser.open_new(link)
- # Função para enviar imagem
- def upload_imagem():
- file_path = filedialog.askopenfilename(
- title="Selecione uma imagem",
- filetypes=[("Imagens", "*.jpg;*.png;*.jpeg;*.gif")]
- )
- if not file_path:
- return
- try:
- with open(file_path, "rb") as image_file:
- files = {"img": image_file}
- data = {"content_type": "0", "max_th_size": "420"}
- headers = {"Accept": "application/json"}
- response = requests.post("https://api.pixhost.to/images", files=files, data=data, headers=headers)
- if response.status_code == 200:
- json_response = response.json()
- image_link = json_response.get("show_url", "Erro ao obter link")
- # Criar janela de sucesso com link clicável
- link_janela = tk.Toplevel(janela)
- link_janela.title("Sucesso")
- link_janela.geometry("400x100")
- centralizar_janela(link_janela, 400, 100)
- # Tornar a janela modal (impede interação com a principal)
- link_janela.transient(janela)
- link_janela.grab_set()
- label_msg = tk.Label(link_janela, text="Imagem enviada! Clique no link abaixo:")
- label_msg.pack(pady=5)
- label_link = tk.Label(link_janela, text=image_link, fg="blue", cursor="hand2")
- label_link.pack(pady=5)
- label_link.bind("<Button-1>", lambda e: abrir_link(e, image_link))
- entry_link.delete(0, tk.END)
- entry_link.insert(0, image_link)
- link_janela.wait_window()
- else:
- messagebox.showerror("Erro", "Falha ao enviar a imagem")
- except Exception as e:
- messagebox.showerror("Erro", f"Ocorreu um erro: {e}")
- # Criando interface Tkinter
- janela = tk.Tk()
- janela.title("Uploader PixHost")
- janela.geometry("400x200")
- centralizar_janela(janela, 400, 200)
- btn_upload = tk.Button(janela, text="Selecionar e Enviar Imagem", command=upload_imagem)
- btn_upload.pack(pady=20)
- entry_link = tk.Entry(janela, width=50)
- entry_link.pack(pady=10)
- btn_copy = tk.Button(janela, text="Copiar Link", command=lambda: janela.clipboard_append(entry_link.get()))
- btn_copy.pack(pady=5)
- janela.mainloop()
Add Comment
Please, Sign In to add comment