0% found this document useful (0 votes)
60 views

Tkinter Python Tela de Splash e Menu

This document contains instructions and code for creating a splash screen in Python using Tkinter. It defines a SplashScreen class that inherits from Tkinter's Toplevel class. The class loads an image file, centers it on the screen, and destroys the splash screen after a specified timeout, bringing back the main window. It also includes code for a main menu interface using Tkinter with buttons to launch different modules.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Tkinter Python Tela de Splash e Menu

This document contains instructions and code for creating a splash screen in Python using Tkinter. It defines a SplashScreen class that inherits from Tkinter's Toplevel class. The class loads an image file, centers it on the screen, and destroys the splash screen after a specified timeout, bringing back the main window. It also includes code for a main menu interface using Tkinter with buttons to launch different modules.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

# 1. cria uma imagem e salve como file.

gif no mesmo diretorio onde criar os prog


ramas

# 2. salve este arquivo com main.py ou inicio.py

#!/usr/bin/env python
#coding:utf-8

# a Tkinter splash screen (uses a GIF image file, does not need PIL)

import Tkinter as tk
from menu import *

class SplashScreen(tk.Toplevel):
SplashScreen(tk.Toplevel):
def __init__(self, master, image=None, timeout=1000):
"""
create a splash screen from a specified image file
keep splash screen up for timeout milliseconds
"""

tk.Toplevel.__init__(self,
tk.Toplevel.__init__(self, master, relief='raised', borderwidth=
5)
self.main = master

# don't show main window


self.main.withdraw()
self.overrideredirect(1)

# use Tkinter's PhotoImage for .gif files


self.image = tk.PhotoImage(file=image)
tk.PhotoImage(file=image)
self.after_idle(self.centerOnScreen)

self.update()
self.after(timeout, self.destroySplash)

def centerOnScreen(self):
self.update_idletasks()
self.width, self.height = self.image.width(), self.image.height(
)

xmax = self.winfo_screenwidth()
self.winfo_screenwidth()
ymax = self.winfo_screenheight()
self.winfo_screenheight()

x0 = self.x0 = xmax/2 - self.width/2


y0 = self.y0 = ymax/2 - self.height/2
self.geometry("%dx%d+%d+%d"
self.geometry("%dx%d+%d+%d" % (self.width, self.height, x0, y0))
self.createSplash()

def createSplash(self):
# show the splash image
self.canvas = tk.Canvas(self, height=self.height, width=self.wid
th)
self.canvas.create_image(0,0,
self.canvas.create_image(0,0, anchor='nw', image=self.image)
self.canvas.pack()

def destroySplash(self):
# bring back main window and destroy splash screen
self.main.update()
#self.main.deiconify()
self.withdraw()
self.destroy()
self.Inicio()

def Inicio(self):
root = Tk()
root.geometry("245x380")
root.geometry("245x380") # Geometria: Largura x Altura
JanelaMenu(root)
root.mainloop()

#def ChamarSplash():
if __name__ == "__main__":
import os

# main
root = window
tk.Tk()
image_file = "file.gif"
assert os.path.exists(image_file)
os.path.exists(image_file)
s = SplashScreen(root, timeout=3000, image=image_file)
root.mainloop()

# 3. Salve este arquivo como menu.py

# !/usr/bin/env python
# coding:utf-8

from Tkinter import *


import tkMessageBox

from vendas import *


from clientes import *
from produtos import *

class JanelaMenu:

def __init__(self, master):

master.title("Principal")
master.resizable(width=False,
master.resizable(width=False, height=False)

caixa = Frame(master)
caixa.pack(fill="both",
caixa.pack(fill="both", expand=True)
self.sair = master

self.texto = Label(caixa, text=" Formulário Principal ", height=2,


width=20,relief="raised", font="Times 15 bold", fg="red", bg="cyan").grid(row=0
, column=0, sticky=E)

# Botoes de Controle
self.botao0 = Button(caixa,
Button(caixa, text=" Vendas ", height=2,
height=2, width=20
width=20
, state="normal", relief="groove", font="Times 14 bold",fg="blue", command=self.
ChamarVendas)
self.botao1 = Button(caixa,
Button(caixa, text=" Clientes ", height=2,
height=2, width=
width=
20, state="normal", relief="groove", font="Times 14 bold",fg="blue", command=sel
f.ChamarClientes)
self.botao2 = Button(caixa, text=" Produtos ", height=2, width
=20, state="normal", relief="groove", font="Times 14 bold",fg="blue", command=se
lf.ChamarProduto)
self.botao3 = Button(caixa, text=" Sair ", height=2, width=2
0, state="normal", relief="groove", font="Times 14 bold",fg="blue", command=self
.f_sair)

self.botao0.grid(row=2,
self.botao0.grid(row=2, column=0)
self.botao1.grid(row=3,
self.botao1.grid(row=3, column=0)
self.botao2.grid(row=4,
self.botao2.grid(row=4, column=0)
self.botao3.grid(row=5,
self.botao3.grid(row=5, column=0)

def f_sair(self):
resultado = tkMessageBox.askquestion(" Finalizar !!!", " Você real
mente deseja sair do programa?")
if resultado == 'yes':
self.sair.destroy()
#root.destroy()
else:
return

def ChamarVendas(self):
#vendas = Tkinter.Tk()
vendas = Tk()
vendas.geometry("500x300")
vendas.geometry("500x3 00") #Largura x Altura
JanelaVendas(vendas) # Janela produto é a classe dentro de vendas.
py
vendas.mainloop()

def ChamarClientes(self):
#cliente = Tkinter.Tk()
cliente = Tk()
cliente.geometry("500x350")
cliente.geometry("500x350") #Largura x Altura
JanelaCliente(cliente)
cliente.mainloop()

def ChamarProduto(self):
produto = Tk()
produto.geometry("700x300")
produto.geometry("700x300") #Largura x Altura
JanelaProduto(produto)
produto.mainloop()

if __name__ == "main":
main()

You might also like