Advertisement
Guest User

Untitled

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