Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/python
- # -*- coding: cp1252 -*-
- # Bibliotecas que serão importadas para o funcionamento do programa
- import Tix # Importamos todas as classes da biblioteca Tix, que extende do Tkinter
- import sys # Biblioteca padrão do Python para trabalhar com I/O
- import sqlite3 # Importamos a biblioteca para trabalharmos com banco de dados sqlite
- import os # Importamos a biblioteca para trabalhar com paths do sistema.
- # Definindo a classe da janela principal, que controla todas as outras janelas e ações e afins
- class guiTcc:
- #definimos o construtor da classe
- def __init__(self, janela):
- # coloca a conexao como sendo parte do objeto
- #self.conexao = conexao
- # Cria o container principal dentro da janela
- containerPrincipal = Tix.Frame(janela)
- containerPrincipal.pack()
- # Dentro do container principal teremos duas áreas, a direita e a esquerda.
- frameEsquerda = Tix.Frame(containerPrincipal)
- frameEsquerda.pack(side = Tix.LEFT)
- self.frameDireita = Tix.Frame(containerPrincipal)
- self.frameDireita.pack(side = Tix.LEFT)
- #vamos montar agora a estrutura do frame a esquerda
- #a esquerda teremos um widget do tipo notebook para as paginas projetos, salas, cadeiras, professores
- nb = Tix.NoteBook(frameEsquerda, ipadx=6, ipady=6)
- # notebook criado, criamos a primeira aba, projetos
- nb.add('projetos', label='Projetos', underline=0)
- # criamos a segunda aba, salas
- nb.add('salas', label='Salas', underline=0)
- # criamos a terceira aba, cadeiras
- nb.add('disciplinas', label='Disciplinas', underline=0)
- # criamos a úmtima aba, professores
- nb.add('professores', label='Professores', underline=0)
- # cria a página para a aba projetos
- self.criarProjetos(nb.projetos)
- # cria a página para a aba salas
- self.criarSalas(nb.salas)
- # cria a página para a aba disciplinas
- self.criarDisciplinas(nb.disciplinas)
- # cria a página para a aba professores
- self.criarProfessores(nb.professores)
- # Pack no notebook para que ele possa ser exibido
- nb.pack(fill=Tix.BOTH, side = Tix.LEFT)
- #função que cria a página para a aba projetos
- def criarProjetos(self, tab):
- # criamos o frame que irá receber os botoes de comando
- frameBotoes = Tix.Frame(tab)
- botaoNovo = Tix.Button(frameBotoes, name='novoProjeto', text='Novo Projeto').pack(side = Tix.LEFT)
- botaoEditar = Tix.Button(frameBotoes, name='editarProjeto', text='Editar Projeto').pack(side = Tix.LEFT)
- frameBotoes.pack(side = Tix.TOP)
- lista = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
- #função que cria a página para a aba salas
- def criarSalas(self, tab):
- # criamos o frame que irá receber os botoes de comando
- frameBotoes = Tix.Frame(tab)
- botaoNovo = Tix.Button(frameBotoes, name='novaSala', text='Nova Sala', command=self.criarPaginaSala).pack(side = Tix.LEFT)
- botaoExcluir = Tix.Button(frameBotoes, name='excluirSala', text='Excluir Sala').pack(side = Tix.LEFT)
- frameBotoes.pack(side = Tix.TOP)
- self.listaSalas = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
- #função que cria a página para a aba disciplinas
- def criarDisciplinas(self, tab):
- # criamos o frame que irá receber os botoes de comando
- frameBotoes = Tix.Frame(tab)
- botaoNovo = Tix.Button(frameBotoes, name='novaDisciplina', text='Nova Disciplina').pack(side = Tix.LEFT)
- botaoEditar = Tix.Button(frameBotoes, name='editarDisciplina', text='Editar Disciplina').pack(side = Tix.LEFT)
- frameBotoes.pack(side = Tix.TOP)
- lista = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
- #função que cria a página para a aba professores
- def criarProfessores(self, tab):
- # criamos o frame que irá receber os botoes de comando
- frameBotoes = Tix.Frame(tab)
- botaoNovo = Tix.Button(frameBotoes, name='novoProfessor', text='Novo Professor').pack(side = Tix.LEFT)
- botaoEditar = Tix.Button(frameBotoes, name='editarProfessor', text='Editar Professor').pack(side = Tix.LEFT)
- frameBotoes.pack(side = Tix.TOP)
- lista = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
- #funcao que carrega as salas
- def loadSalas(self):
- #limpa a lista de salas
- self.listaSalas.delete(0, Tix.END)
- #pega uma nova lista de salas no banco de dados
- #funcao que cria o conteudo do framedireita com itens para a sala
- def criarPaginaSala(self):
- #self.frameDireita.pack_forget()
- variavelSala = Tix.StringVar()
- frameLocal = Tix.Frame(self.frameDireita, borderwidth=1, relief=Tix.SUNKEN)
- frameLocal.pack(side = Tix.LEFT, expand=1)
- Tix.Label(frameLocal, text="Digite a sala:").pack(side = Tix.TOP)
- Tix.Entry(frameLocal, textvariable=variavelSala).pack(side = Tix.TOP)
- frameBotoes = Tix.Frame(frameLocal)
- frameBotoes.pack(side = Tix.TOP)
- Tix.Button(frameBotoes, text="Inserir", command=lambda:self.inserirSala(variavelSala)).pack(side = Tix.RIGHT)
- Tix.Button(frameBotoes, text="Cancelar").pack(side = Tix.RIGHT)
- def inserirSala(self, texto):
- print texto.get()
- self.frameDireita.forget()
- # Verifica se o script esta sendo executado como principal
- if __name__ == "__main__":
- # Verificamos se as bases de dados existem
- """if os.path.exists("baseDeDados/informacoes.db") == False:
- temp = open("baseDeDados/informacoes.db", "w")
- temp.close()
- conexao = sqlite3.connect("baseDeDados/informacoes.db")
- conexao.execute("CREATE TABLE sala (\
- id INTEGER UNSIGNED PRIMARY KEY,\
- nome VARCHAR(6) NOT NULL\
- )\
- ")
- else:
- conexao = sqlite3.connect("baseDeDados/informacoes.db")"""
- # Instanciamos um objeto TIX
- janela = Tix.Tk()
- # Instanciamos um objeto do tipo guiTcc passando uma isntância de TIX
- TCC = guiTcc(janela)
- # Executamos o loop principal do Tkinter, ele desenha a nossa GUI
- janela.mainloop()
- # finaliza a conexão com o banco de dados
- #conexao.close()
- else:
- print "O arquivo TCC.PY deve ser executado como arquivo principal."
- sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement