Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.01 KB | None | 0 0
  1. #!/usr/local/bin/python
  2. # -*- coding: cp1252 -*-
  3.  
  4.  
  5. # Bibliotecas que serão importadas para o funcionamento do programa
  6. import Tix         # Importamos todas as classes da biblioteca Tix, que extende do Tkinter
  7. import sys         # Biblioteca padrão do Python para trabalhar com I/O
  8. import sqlite3     # Importamos a biblioteca para trabalharmos com banco de dados sqlite
  9. import os          # Importamos a biblioteca para trabalhar com paths do sistema.
  10.  
  11.  
  12. # Definindo a classe da janela principal, que controla todas as outras janelas e ações e afins
  13. class guiTcc:
  14.     #definimos o construtor da classe
  15.     def __init__(self, janela):
  16.         # coloca a conexao como sendo parte do objeto
  17.         #self.conexao = conexao
  18.        
  19.        
  20.         # Cria o container principal dentro da janela
  21.         containerPrincipal = Tix.Frame(janela)
  22.         containerPrincipal.pack()
  23.        
  24.         # Dentro do container principal teremos duas áreas, a direita e a esquerda.
  25.         frameEsquerda = Tix.Frame(containerPrincipal)
  26.         frameEsquerda.pack(side = Tix.LEFT)
  27.        
  28.         self.frameDireita = Tix.Frame(containerPrincipal)
  29.         self.frameDireita.pack(side = Tix.LEFT)
  30.        
  31.        
  32.         #vamos montar agora a estrutura do frame a esquerda
  33.         #a esquerda teremos um widget do tipo notebook para as paginas projetos, salas, cadeiras, professores
  34.         nb = Tix.NoteBook(frameEsquerda, ipadx=6, ipady=6)
  35.        
  36.         # notebook criado, criamos a primeira aba, projetos
  37.         nb.add('projetos', label='Projetos', underline=0)
  38.         # criamos a segunda aba, salas
  39.         nb.add('salas', label='Salas', underline=0)
  40.         # criamos a terceira aba, cadeiras
  41.         nb.add('disciplinas', label='Disciplinas', underline=0)
  42.         # criamos a úmtima aba, professores
  43.         nb.add('professores', label='Professores', underline=0)
  44.        
  45.        
  46.         # cria a página para a aba projetos
  47.         self.criarProjetos(nb.projetos)
  48.        
  49.         # cria a página para a aba salas
  50.         self.criarSalas(nb.salas)
  51.        
  52.         # cria a página para a aba disciplinas
  53.         self.criarDisciplinas(nb.disciplinas)
  54.        
  55.         # cria a página para a aba professores
  56.         self.criarProfessores(nb.professores)
  57.        
  58.        
  59.         # Pack no notebook para que ele possa ser exibido
  60.         nb.pack(fill=Tix.BOTH, side = Tix.LEFT)
  61.    
  62.    
  63.     #função que cria a página para a aba projetos
  64.     def criarProjetos(self, tab):
  65.         # criamos o frame que irá receber os botoes de comando
  66.         frameBotoes = Tix.Frame(tab)
  67.        
  68.         botaoNovo = Tix.Button(frameBotoes, name='novoProjeto', text='Novo Projeto').pack(side = Tix.LEFT)
  69.         botaoEditar = Tix.Button(frameBotoes, name='editarProjeto', text='Editar Projeto').pack(side = Tix.LEFT)
  70.        
  71.         frameBotoes.pack(side = Tix.TOP)
  72.        
  73.         lista = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
  74.    
  75.    
  76.     #função que cria a página para a aba salas
  77.     def criarSalas(self, tab):
  78.         # criamos o frame que irá receber os botoes de comando
  79.         frameBotoes = Tix.Frame(tab)
  80.        
  81.         botaoNovo = Tix.Button(frameBotoes, name='novaSala', text='Nova Sala', command=self.criarPaginaSala).pack(side = Tix.LEFT)
  82.         botaoExcluir = Tix.Button(frameBotoes, name='excluirSala', text='Excluir Sala').pack(side = Tix.LEFT)
  83.        
  84.         frameBotoes.pack(side = Tix.TOP)
  85.        
  86.         self.listaSalas = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
  87.    
  88.    
  89.     #função que cria a página para a aba disciplinas
  90.     def criarDisciplinas(self, tab):
  91.         # criamos o frame que irá receber os botoes de comando
  92.         frameBotoes = Tix.Frame(tab)
  93.        
  94.         botaoNovo = Tix.Button(frameBotoes, name='novaDisciplina', text='Nova Disciplina').pack(side = Tix.LEFT)
  95.         botaoEditar = Tix.Button(frameBotoes, name='editarDisciplina', text='Editar Disciplina').pack(side = Tix.LEFT)
  96.        
  97.         frameBotoes.pack(side = Tix.TOP)
  98.        
  99.         lista = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
  100.    
  101.    
  102.     #função que cria a página para a aba professores
  103.     def criarProfessores(self, tab):
  104.         # criamos o frame que irá receber os botoes de comando
  105.         frameBotoes = Tix.Frame(tab)
  106.        
  107.         botaoNovo = Tix.Button(frameBotoes, name='novoProfessor', text='Novo Professor').pack(side = Tix.LEFT)
  108.         botaoEditar = Tix.Button(frameBotoes, name='editarProfessor', text='Editar Professor').pack(side = Tix.LEFT)
  109.        
  110.         frameBotoes.pack(side = Tix.TOP)
  111.        
  112.         lista = Tix.Listbox(tab, activestyle="dotbox", selectmode=Tix.SINGLE).pack(side = Tix.TOP)
  113.    
  114.    
  115.     #funcao que carrega as salas
  116.     def loadSalas(self):
  117.         #limpa a lista de salas
  118.         self.listaSalas.delete(0, Tix.END)
  119.        
  120.         #pega uma nova lista de salas no banco de dados
  121.    
  122.     #funcao que cria o conteudo do framedireita com itens para a sala
  123.     def criarPaginaSala(self):
  124.         #self.frameDireita.pack_forget()
  125.        
  126.         variavelSala = Tix.StringVar()
  127.        
  128.         frameLocal = Tix.Frame(self.frameDireita, borderwidth=1, relief=Tix.SUNKEN)
  129.         frameLocal.pack(side = Tix.LEFT, expand=1)
  130.         Tix.Label(frameLocal, text="Digite a sala:").pack(side = Tix.TOP)
  131.         Tix.Entry(frameLocal, textvariable=variavelSala).pack(side = Tix.TOP)
  132.        
  133.         frameBotoes = Tix.Frame(frameLocal)
  134.         frameBotoes.pack(side = Tix.TOP)
  135.         Tix.Button(frameBotoes, text="Inserir", command=lambda:self.inserirSala(variavelSala)).pack(side = Tix.RIGHT)
  136.         Tix.Button(frameBotoes, text="Cancelar").pack(side = Tix.RIGHT)
  137.    
  138.     def inserirSala(self, texto):
  139.         print texto.get()
  140.         self.frameDireita.forget()
  141.  
  142.  
  143. # Verifica se o script esta sendo executado como principal
  144. if __name__ == "__main__":
  145.     # Verificamos se as bases de dados existem
  146.     """if os.path.exists("baseDeDados/informacoes.db") == False:
  147.        temp = open("baseDeDados/informacoes.db", "w")
  148.        temp.close()
  149.        
  150.        conexao = sqlite3.connect("baseDeDados/informacoes.db")
  151.        
  152.        conexao.execute("CREATE TABLE sala (\
  153.                                            id INTEGER UNSIGNED PRIMARY KEY,\
  154.                                            nome VARCHAR(6) NOT NULL\
  155.                                            )\
  156.                        ")
  157.    else:
  158.        conexao = sqlite3.connect("baseDeDados/informacoes.db")"""
  159.    
  160.    
  161.    
  162.    
  163.     # Instanciamos um objeto TIX
  164.     janela = Tix.Tk()
  165.     # Instanciamos um objeto do tipo guiTcc passando uma isntância de TIX
  166.     TCC = guiTcc(janela)
  167.    
  168.     # Executamos o loop principal do Tkinter, ele desenha a nossa GUI
  169.     janela.mainloop()
  170.    
  171.     # finaliza a conexão com o banco de dados
  172.     #conexao.close()
  173. else:
  174.     print "O arquivo TCC.PY deve ser executado como arquivo principal."
  175.     sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement