Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Baixar vídeo Youtube (com janela. biblioteca Tkinter)
- import tkinter as tk
- from tkinter import filedialog, messagebox
- import pytube
- import ctypes
- # Função para minimizar a janela do terminal
- def minimize_window():
- # Obtém o identificador da janela do terminal
- hwnd = ctypes.windll.kernel32.GetConsoleWindow()
- # Minimiza a janela do terminal
- ctypes.windll.user32.ShowWindow(hwnd, 6) # 6 representa o comando para minimizar a janela
- # Exibe mensagem informando que o programa está sendo executado
- print("O programa está sendo executado. A janela do terminal foi minimizada.")
- # Minimiza a janela do terminal
- minimize_window()
- def download_video():
- # Obtém a URL digitada na caixa de texto
- video_url = entry.get()
- # Verifica se o campo de texto está vazio
- if not video_url:
- messagebox.showwarning("Aviso", "Por favor, informe a URL do vídeo do YouTube.")
- return
- # Cria um objeto 'YouTube' com a URL do vídeo
- youtube = pytube.YouTube(video_url)
- # Obtém a melhor resolução disponível para o vídeo
- video = youtube.streams.get_highest_resolution()
- # Abre uma janela de diálogo para escolher a pasta de destino
- folder_selected = filedialog.askdirectory()
- if folder_selected:
- try:
- # Define o diretório de destino para o download
- video.download(folder_selected)
- # Exibe a mensagem no console
- print("O vídeo foi baixado com sucesso.")
- # Exibe a mensagem em uma caixa de diálogo
- messagebox.showinfo("Download Concluído", "O vídeo foi baixado com sucesso.")
- # Limpa a caixa de texto e posiciona o cursor nela
- entry.delete(0, tk.END)
- entry.focus()
- except Exception as e:
- messagebox.showerror("Erro", str(e))
- else:
- messagebox.showwarning("Aviso", "Nenhuma pasta selecionada.")
- def show_context_menu(event):
- # Exibe o menu de contexto do Windows com a opção "Colar"
- menu.post(event.x_root, event.y_root)
- # Cria a janela principal
- window = tk.Tk()
- # Define o título da janela
- window.title("Youtube Vídeo Downloader")
- # Define o tamanho da janela
- window.geometry("600x100")
- # Centraliza a janela no meio da tela
- window.eval('tk::PlaceWindow . center')
- # Cria o rótulo "Informe a URL do vídeo:"
- label = tk.Label(window, text="Informe a URL do vídeo:")
- label.grid(row=0, column=0, sticky="w", padx=10, pady=10) # Posiciona na primeira linha, primeira coluna (canto superior esquerdo), alinhado à esquerda, com margem de 10 pixels
- # Cria a caixa de texto
- entry = tk.Entry(window, width=80)
- entry.grid(row=1, column=0, padx=10, pady=10) # Posiciona na segunda linha, primeira coluna (canto superior esquerdo), com margem de 10 pixels à esquerda
- # Associa o evento de clique com botão direito do mouse à função do menu de contexto
- entry.bind("<Button-3>", show_context_menu)
- # Cria o menu de contexto do Windows
- menu = tk.Menu(entry, tearoff=False)
- menu.add_command(label="Colar", command=lambda: entry.event_generate("<<Paste>>"))
- # Cria o botão de download
- button = tk.Button(window, text="Baixar vídeo", command=download_video)
- button.grid(row=1, column=1, padx=5, pady=10) # Posiciona na segunda linha, segunda coluna (canto superior direito), com margem de 10 pixels à direita
- # Inicia o loop principal da janela
- window.mainloop()
Add Comment
Please, Sign In to add comment