Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- from tkinter import ttk
- import random
- import webbrowser
- # Dados aleatórios de exemplo
- dados = [
- {'Nome': 'João da Silva', 'Telefone/WhatsApp': '5531976543210', 'E-mail': 'joao.silva@example.com'},
- {'Nome': 'Ana Souza', 'Telefone/WhatsApp': '5531987654321', 'E-mail': 'ana.souza@example.com'},
- {'Nome': 'Carlos Pereira', 'Telefone/WhatsApp': '5531965432109', 'E-mail': 'carlos.pereira@example.com'},
- {'Nome': 'Maria Santos', 'Telefone/WhatsApp': '5531954321098', 'E-mail': 'maria.santos@example.com'},
- {'Nome': 'Pedro Oliveira', 'Telefone/WhatsApp': '5531943210987', 'E-mail': 'pedro.oliveira@example.com'},
- {'Nome': 'Lúcia Mendes', 'Telefone/WhatsApp': '5531932109876', 'E-mail': 'lucia.mendes@example.com'},
- {'Nome': 'Fernando Costa', 'Telefone/WhatsApp': '5531921098765', 'E-mail': 'fernando.costa@example.com'},
- {'Nome': 'Mariana Almeida', 'Telefone/WhatsApp': '5531910987654', 'E-mail': 'mariana.almeida@example.com'},
- {'Nome': 'Ricardo Ferreira', 'Telefone/WhatsApp': '5531909876543', 'E-mail': 'ricardo.ferreira@example.com'},
- {'Nome': 'Camila Ramos', 'Telefone/WhatsApp': '5531998765432', 'E-mail': 'camila.ramos@example.com'},
- {'Nome': 'Paulo Sousa', 'Telefone/WhatsApp': '5531976543210', 'E-mail': 'paulo.sousa@example.com'},
- {'Nome': 'Fernanda Silva', 'Telefone/WhatsApp': '5531987654321', 'E-mail': 'fernanda.silva@example.com'},
- {'Nome': 'Roberto Pereira', 'Telefone/WhatsApp': '5531965432109', 'E-mail': 'roberto.pereira@example.com'},
- {'Nome': 'Laura Santos', 'Telefone/WhatsApp': '5531954321098', 'E-mail': 'laura.santos@example.com'},
- {'Nome': 'Gabriel Oliveira', 'Telefone/WhatsApp': '5531943210987', 'E-mail': 'gabriel.oliveira@example.com'},
- {'Nome': 'Sofia Mendes', 'Telefone/WhatsApp': '5531932109876', 'E-mail': 'sofia.mendes@example.com'},
- {'Nome': 'Hugo Costa', 'Telefone/WhatsApp': '5531921098765', 'E-mail': 'hugo.costa@example.com'},
- {'Nome': 'Carolina Almeida', 'Telefone/WhatsApp': '5531910987654', 'E-mail': 'carolina.almeida@example.com'},
- {'Nome': 'Gustavo Ferreira', 'Telefone/WhatsApp': '5531909876543', 'E-mail': 'gustavo.ferreira@example.com'},
- {'Nome': 'Amanda Ramos', 'Telefone/WhatsApp': '5531998765432', 'E-mail': 'amanda.ramos@example.com'}
- ]
- def abrir_link_whatsapp(telefone):
- link = f"https://api.whatsapp.com/send?phone={telefone}"
- webbrowser.open(link)
- def abrir_menu_contexto(event):
- item_selecionado = tree.identify_row(event.y)
- if item_selecionado:
- telefone = tree.item(item_selecionado)['values'][1]
- menu_contexto.tk_popup(event.x_root, event.y_root)
- menu_contexto.entryconfigure('Enviar mensagem no WhatsApp', command=lambda: abrir_link_whatsapp(telefone))
- # Criar janela principal
- root = tk.Tk()
- root.title("Lista de Contatos")
- # Define a largura e altura da janela
- largura = 1200
- altura = 400
- # Calcula as coordenadas para centralizar a janela
- largura_tela = root.winfo_screenwidth()
- altura_tela = root.winfo_screenheight()
- x = (largura_tela - largura) // 2
- y = (altura_tela - altura) // 2
- # Define a geometria da janela com as coordenadas centralizadas
- root.geometry(f"{largura}x{altura}+{x}+{y}")
- # Criar Treeview
- tree = ttk.Treeview(root, columns=('Nome', 'Telefone/WhatsApp', 'E-mail'), show='headings')
- tree.heading('Nome', text='Nome')
- tree.heading('Telefone/WhatsApp', text='Telefone/WhatsApp')
- tree.heading('E-mail', text='E-mail')
- # Ajustar a largura das colunas
- tree.column('Nome', width=int(largura * 0.4)) # Largura da coluna 'Nome'
- tree.column('Telefone/WhatsApp', width=int(largura * 0.3)) # Largura da coluna 'Telefone/WhatsApp'
- tree.column('E-mail', width=int(largura * 0.3)) # Largura da coluna 'E-mail'
- # Adicionar dados à Treeview
- for contato in dados:
- nome = contato['Nome']
- telefone = contato['Telefone/WhatsApp']
- email = contato['E-mail']
- tree.insert('', 'end', values=(nome, telefone, email))
- # Criar barra de rolagem
- scrollbar = ttk.Scrollbar(root, orient=tk.VERTICAL, command=tree.yview)
- scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
- # Vincular a barra de rolagem à Treeview
- tree.configure(yscrollcommand=scrollbar.set)
- # Posicionar a TreeView
- tree.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
- # Criar menu de contexto
- menu_contexto = tk.Menu(root, tearoff=0)
- menu_contexto.add_command(label='Enviar mensagem no WhatsApp')
- # Associar o evento de clique com botão direito do mouse ao abrir o menu de contexto
- tree.bind('<Button-3>', abrir_menu_contexto)
- # Iniciar aplicativo
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement