def __init__(self, parent, idadministrador, puerto): 'contructor requiere de parent como interfaz contenedor y manipulador como clase que accedera a la informacion' wx.Panel.__init__(self, parent) # Inicialización Panel Padre self.SetBackgroundColour("#32506D") # Color de Fondo del panel self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", puerto) #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) queryidexamen = "select (nom_pers||' '||apellido_pers) from persona where id_persona = " + idadministrador + ";" self.nombre = self.conexion.connection.ExecuteQuery(queryidexamen) self.nombre = (self.nombre[0][0]) self.quote = wx.StaticText(self, label="Bienvenido Admistrador: " + self.nombre, pos=(140, 10)) self.aparte = wx.StaticText(self, label="", pos=(140, 10)) gs = wx.GridSizer(1, 2, 1, 1) #Creacion grilla de tamaño #--------------Adición de Paneles a la Grilla, esta grilla permite que los paneles se ajuste al tamaño de la pantalla gs.AddMany([ (self.quote, 0, wx.ALIGN_CENTER), (self.aparte, 0, wx.ALIGN_CENTER), ]) sizer = wx.BoxSizer( wx.VERTICAL) #Adición de la grilla de tamaños al panel padre sizer.Add(gs, proportion=1, flag=wx.EXPAND) self.SetSizer(sizer) #idaadministrador = "4" #MenuPrincipaladmin(idaadministrador,"5434")
def __init__(self, iddocente): 'contructor requiere de parent como interfaz contenedor y manipulador como clase que accedera a la informacion' self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", "5434") #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) self.iddocente = iddocente app = wx.App(False) displaySize = wx.DisplaySize() wx.Frame.__init__(self, None, pos=(0, 0), size=(displaySize[0], displaySize[1])) displaySize = wx.DisplaySize() topPanel = scrolled.ScrolledPanel(self) topPanel.SetupScrolling(scroll_y=True) topPanel.SetBackgroundColour('3399FF') sizertopPanel = wx.BoxSizer(wx.VERTICAL) sizertopPanel.Add(HeadLow.Head(topPanel), 0, wx.EXPAND | wx.ALL, border=10) sizertopPanel.Add(Body(topPanel, iddocente), 0, wx.EXPAND | wx.ALL, border=10) sizertopPanel.Add(HeadLow.Low(topPanel), 0, wx.EXPAND | wx.ALL, border=10) topPanel.SetSizer(sizertopPanel) self.sizer = sizertopPanel self.topPanel = topPanel self.topanel = topPanel self.Bind(wx.EVT_CLOSE, self.OnClose) #Genracion de menu Principal que controlara el interfaz menuBar = wx.MenuBar() menu = wx.Menu() m_exit = menu.Append(wx.ID_EXIT, "&salir\tAlt-X", "Close window and exit program.") self.Bind(wx.EVT_MENU, self.OnClose, m_exit) menuBar.Append(menu, "&Archivo") menu = wx.Menu() m_agregartema = menu.Append(ID_AGREGAR_EXAMEN, "&Agregar tema", "Agregar nuevo Examen") self.Bind(wx.EVT_MENU, self.agregar, m_agregartema, id=ID_AGREGAR_EXAMEN) menu = wx.Menu() m_about = menu.Append(wx.ID_ABOUT, "&Sobre nosotros", "Information about this program") self.Bind(wx.EVT_MENU, self.OnAbout, m_about) menuBar.Append(menu, "&Ayuda") self.SetMenuBar(menuBar) self.Show() app.MainLoop() self.GetSizer().Layout() self.Fit()
def __init__(self, parent, puerto, iddocente): """Constructor""" wx.Panel.__init__(self, parent) # Inicialización Panel Padre self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", str(puerto)) #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) gs = wx.GridSizer(3, 2, 1, 1) #Creacion grilla de tamaño self.panel = wx.Panel(self) self.examenelegigo = '' self.cursoelegigo = '' self.lblcurso = wx.StaticText(self.panel, label="Cursos : ", pos=(0, 35)) self.sampleListcurso = [] query = "select e.id_exa, e.titulo_exa, c.id_curso, c.nom_curso from examen e, curso c, curso_examen ce " query += "where ce.id_examen = e.id_exa and ce.id_curso =c.id_curso and e.id_dcnte=" + str( iddocente) + ";" self.opcionesexamencurso = (self.conectordatabase).ExecuteQuery( query) #consulta de todos los tipos de examen print("consutla sql de tipos de examen " + str(self.opcionesexamencurso)) self.sampleListcurso = self.getdistinticcursos( self.opcionesexamencurso) print('cursos a mostrar ' + str(self.sampleListcurso)) self.editcurso = wx.ComboBox(self.panel, choices=self.sampleListcurso, style=wx.CB_DROPDOWN) self.editcurso.Bind(wx.EVT_COMBOBOX, self.actualizarexamenes) self.sampleListexamen = [ ' ' ] #se pone asi para que el combobox tenga un buen ancho self.lblexamen = wx.StaticText(self.panel, label="Examenes :", pos=(100, 35)) self.editexamen = wx.ComboBox(self.panel, choices=self.sampleListexamen, style=wx.CB_DROPDOWN) self.editexamen.Bind(wx.EVT_COMBOBOX, self.examenelegido) self.enviar = wx.Button(self.panel, wx.ID_OK, label="Enviar") self.Bind(wx.EVT_BUTTON, self.creartablanotas, self.enviar) #--------------Adición de Paneles a la Grilla, esta grilla permite que los paneles se ajuste al tamaño de la pantalla gs.AddMany([(self.lblcurso, 0, wx.ALIGN_CENTER), (self.editcurso, 0, wx.ALIGN_CENTER), (self.lblexamen, 0, wx.ALIGN_CENTER), (self.editexamen, 0, wx.ALIGN_CENTER), (self.enviar, 0, wx.FIXED_MINSIZE)]) sizer = wx.BoxSizer( wx.VERTICAL) #Adición de la grilla de tamaños al panel padre #sizer.Add(self.enviar, proportion=1,flag=wx.FIXED_MINSIZE) sizer.Add(gs, proportion=1, flag=wx.EXPAND) self.panel.SetSizer(sizer) self.sizertopPanel = wx.BoxSizer(wx.VERTICAL) self.sizertopPanel.Add(self.panel, 0, wx.EXPAND | wx.ALL, border=10) tabla = InterfazNotas(self, 0, 0, self.conectordatabase, self.conexion) self.sizertopPanel.Add(tabla, 0, wx.EXPAND | wx.ALL, border=10) #sizertopPanel.Add(InterfazExamen(self,idexamen,self.conectordatabase,self.conexion),0,wx.EXPAND|wx.ALL,border=10) self.SetSizer(self.sizertopPanel)
def __init__(self, parent): self.parent = parent self.conn = ConnectionDataBase.Connection("localhost", "db_avitours", "postgres", "postgres") wx.Panel.__init__(self, parent) # Inicialización Panel Padre self.BodyQuery = BodyQuery.BodyQuery( self, self.conn) ## En esta linea se Agrega el Panel de inicio self.SetBackgroundColour("#696969") # Color de Fondo del panel self.sizerbody = wx.BoxSizer(wx.VERTICAL) self.sizerbody.Add(self.BodyQuery, 0, wx.EXPAND | wx.ALL, border=5) self.SetSizer(self.sizerbody)
def __init__(self, parent, idexamen, puerto): """Constructor""" wx.Panel.__init__(self, parent) # Inicialización Panel Padre self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", str(puerto)) #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) query = "select examen.titulo_exa, persona.nom_pers || ' ' ||persona.apellido_pers, examen.tiempo_exa_inicio, examen.tiempo_exa_fin " query += "from persona, examen, docente where docente.id_persona = persona.id_persona and examen.id_dcnte = docente.id_persona and examen.id_exa = " + str( idexamen) + ";" self.generalidadexamen = (self.conectordatabase).ExecuteQuery( query) #consulta de todos los tipos de examen print str(self.generalidadexamen) gs = wx.GridSizer(3, 2, 1, 1) #Creacion grilla de tamaño panel = wx.Panel(self) self.lblname = wx.StaticText(panel, label="Nombre Examen : " + str(self.generalidadexamen[0][0]), pos=(0, 35)) self.docente = wx.StaticText(panel, label="Docente :" + str(self.generalidadexamen[0][1]), pos=(100, 35)) self.lblhoraini = wx.StaticText(panel, label="Hora Inicio :" + str(self.generalidadexamen[0][2]), pos=(0, 65)) self.lblhorafin = wx.StaticText(panel, label="Hora Fin :" + str(self.generalidadexamen[0][3]), pos=(100, 65)) self.enviar = wx.Button(panel, wx.ID_OK, label="Enviar") #--------------Adición de Paneles a la Grilla, esta grilla permite que los paneles se ajuste al tamaño de la pantalla gs.AddMany([(self.lblname, 0, wx.ALIGN_CENTER), (self.docente, 0, wx.ALIGN_CENTER), (self.lblhoraini, 0, wx.ALIGN_CENTER), (self.lblhorafin, 0, wx.ALIGN_CENTER), (self.enviar, 0, wx.FIXED_MINSIZE)]) sizer = wx.BoxSizer( wx.VERTICAL) #Adición de la grilla de tamaños al panel padre #sizer.Add(self.enviar, proportion=1,flag=wx.FIXED_MINSIZE) sizer.Add(gs, proportion=1, flag=wx.EXPAND) panel.SetSizer(sizer) sizertopPanel = wx.BoxSizer(wx.VERTICAL) sizertopPanel.Add(panel, 0, wx.EXPAND | wx.ALL, border=10) sizertopPanel.Add(InterfazExamen(self, idexamen, self.conectordatabase, self.conexion), 0, wx.EXPAND | wx.ALL, border=10) self.SetSizer(sizertopPanel)
def __init__(self, parent, puerto): self.parent = parent self.conn = ConnectionDataBase.Connection("localhost", "mundiales", "adminexamen", "pasexamen", puerto) wx.Panel.__init__(self, parent) # Inicialización Panel Padre self.BodyQuery = BodyQuery.BodyQuery( self, self.conn) ## En esta linea se Agrega el Panel de inicio self.SetBackgroundColour("#696969") # Color de Fondo del panel self.sizerbody = wx.BoxSizer(wx.VERTICAL) self.sizerbody.Add(self.BodyQuery, 0, wx.EXPAND | wx.ALL, border=5) aceptar = wx.Button(self, wx.ID_OK, label="Aceptar") self.sizerbody.Add(aceptar, 0, wx.ALL, border=5) self.SetSizer(self.sizerbody)
def __init__(self, parent, topPanel, sizertopPanel): """ Metodo usado para iniciar el registro de un nuevo examen en sus parametros generales se encuentra el interfaz parent causante del llamado de esta clase para reguistrar un nuevo examen, se requere de iddocente que guardara el identificador del docente que hizo la peticion de un nuevo examen, topPanel usado para el almacenamiento de los objetos graficos guardandolos gentro de un panel con barra de desplazamiento, sizertopPanel usado como un objeto de wxPython para organizar los elementos que contengan los paneles.""" self.father = parent self.topanel = topPanel self.sizer = sizertopPanel self.conectordatabase = ConnectionDataBase.Connection( "200.69.103.79", "examen", "adminexamen", "pasexamen", "5432") #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase)
def __init__(self, parent, port): """Constructor de la clase Presentacion. :param parent:, padre del objeto :param style:, Estilo del objeto :param size:, dimensiones del objeto""" wx.Panel.__init__(self, parent, size=(550, 260), style=wx.RAISED_BORDER) """Inicializa el objeto Panel. :param parent:, padre del objeto :param style:, Estilo del objeto :param size:, dimensiones del objeto""" self.SetBackgroundColour('#00BF8F') #Arreglo de Nombres self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", str(port)) #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) involucrados = self.conexion.ObtenerInvolucrados() Participantes = "" for j in range(len(involucrados)): for x in range(len(involucrados[j])): Participantes = Participantes + " " + str(involucrados[j][x]) Participantes = Participantes + "\n" #Creacion Objeto Texto self.text1 = wx.StaticText(self, label=Participantes, pos=(20, 50), size=(100, 20 * len(Participantes))) self.text1.SetForegroundColour(('#32506D')) self.font = wx.Font(10, wx.DECORATIVE, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_BOLD) self.text1.SetFont(self.font) #Objeto Timer self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.Movimiento, self.timer) #Eventos de Mouse self.Bind(wx.EVT_ENTER_WINDOW, self.detener) self.Bind(wx.EVT_LEAVE_WINDOW, self.iniciar) self.text1.Bind(wx.EVT_ENTER_WINDOW, self.detener) self.text1.Bind(wx.EVT_LEAVE_WINDOW, self.iniciar)
def __init__(self, parent,iddocente,topPanel,sizertopPanel): """ Metodo usado para iniciar el registro de un nuevo examen en sus parametros generales se encuentra el interfaz parent causante del llamado de esta clase para reguistrar un nuevo examen, se requere de iddocente que guardara el identificador del docente que hizo la peticion de un nuevo examen, topPanel usado para el almacenamiento de los objetos graficos guardandolos gentro de un panel con barra de desplazamiento, sizertopPanel usado como un objeto de wxPython para organizar los elementos que contengan los paneles.""" self.father = parent self.topanel = topPanel self.sizer = sizertopPanel self.nuevoexamen = examen.examen(str(iddocente)) self.conectordatabase = ConnectionDataBase.Connection("localhost","examen","adminexamen","pasexamen","5434")#se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) queryidexamen = "select count(*) from examen;" self.idexamen = self.conexion.connection.ExecuteQuery(queryidexamen) self.idexamen = (self.idexamen[0][0])+1
def __init__(self, parent, idestudiante, localport): 'contructor requiere de parent como interfaz contenedor y manipulador como clase que accedera a la informacion' wx.Panel.__init__(self, parent) # Inicialización Panel Padre self.SetBackgroundColour('#00BF8F') self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", localport) #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) queryidexamen = "select (nom_pers||' '||apellido_pers) from persona where id_persona = " + idestudiante + ";" self.nombre = self.conexion.connection.ExecuteQuery(queryidexamen) self.nombre = (self.nombre[0][0]) self.quote = wx.StaticText(self, label="Bienvenido Estudiante: " + self.nombre, pos=(140, 10)) self.aparte = wx.StaticText(self, label="", pos=(140, 10)) gs = wx.GridSizer(1, 2, 1, 1) #Creacion grilla de tamaño #--------------Adición de Paneles a la Grilla, esta grilla permite que los paneles se ajuste al tamaño de la pantalla gs.AddMany([ (self.quote, 0, wx.ALIGN_CENTER), (self.aparte, 0, wx.ALIGN_CENTER), ]) sizer = wx.BoxSizer( wx.VERTICAL) #Adición de la grilla de tamaños al panel padre sizer.Add(gs, proportion=1, flag=wx.EXPAND) self.SetSizer(sizer) #idestudiante = "3" #with SSHTunnelForwarder( # ('200.69.103.79', 22), # ssh_password="******", # ssh_username="******", # remote_bind_address=('127.0.0.1', 5432)) as server: # MenuPrincipalEstudiante(idestudiante,server.local_bind_port) #MenuPrincipalEstudiante(server, idestudiante,5434) #idestudiante = "3" #MenuPrincipalEstudiante(idestudiante)
def __init__(self,parent,idexamen, localport): """Constructor""" displaySize= wx.DisplaySize() self.localport = str(localport) wx.Dialog.__init__(self, parent, wx.ID_ANY, 'Full display size', pos=(0, 0), size=(displaySize[0], displaySize[1])) self.conectordatabase = ConnectionDataBase.Connection("localhost","examen","adminexamen","pasexamen",self.localport) self.conexion = ConnSchema.ConnSchema(self.conectordatabase) query ="select examen.titulo_exa, persona.nom_pers || ' ' ||persona.apellido_pers, examen.tiempo_exa_inicio, examen.tiempo_exa_fin " query += "from persona, examen, docente where docente.id_persona = persona.id_persona and examen.id_dcnte = docente.id_persona and examen.id_exa = "+str(idexamen)+";" self.generalidadexamen = (self.conectordatabase).ExecuteQuery(query) #consulta de todos los tipos de examen print str(self.generalidadexamen) gs = wx.GridSizer(3, 2, 1, 1) #Creacion grilla de tamaño topPanel= scrolled.ScrolledPanel(parent) panel =wx.Panel(topPanel) self.lblname = wx.StaticText(panel, label="Nombre Examen : "+str(self.generalidadexamen[0][0]), pos=(0, 35)) self.docente = wx.StaticText(panel, label="Docente :"+str(self.generalidadexamen[0][1]), pos=(100, 35)) self.lblhoraini = wx.StaticText(panel, label="Hora Inicio :"+str(self.generalidadexamen[0][2]), pos=(0, 65)) self.lblhorafin = wx.StaticText(panel, label="Hora Fin: "+str(self.generalidadexamen[0][3]), pos=(100, 65)) self.enviar = wx.Button(panel, wx.ID_OK,label="Enviar") #--------------Adición de Paneles a la Grilla, esta grilla permite que los paneles se ajuste al tamaño de la pantalla gs.AddMany([(self.lblname, 0, wx.ALIGN_CENTER),(self.docente, 0, wx.ALIGN_CENTER), (self.lblhoraini, 0, wx.ALIGN_CENTER),(self.lblhorafin, 0, wx.ALIGN_CENTER), (self.enviar,0,wx.FIXED_MINSIZE)]) sizer = wx.BoxSizer(wx.VERTICAL) #Adición de la grilla de tamaños al panel padre #sizer.Add(self.enviar, proportion=1,flag=wx.FIXED_MINSIZE) sizer.Add(gs, proportion=1, flag=wx.EXPAND) panel.SetSizer(sizer) topPanel.SetupScrolling(scroll_y=True) topPanel.SetBackgroundColour('#00BF8F') sizertopPanel=wx.BoxSizer(wx.VERTICAL) sizertopPanel.Add(HeadLow.Head(topPanel),0,wx.EXPAND|wx.ALL,border=10) sizertopPanel.Add(panel, 0,wx.EXPAND|wx.ALL,border=10) sizertopPanel.Add(InterfazExamen(topPanel,idexamen,self.conectordatabase,self.conexion),0,wx.EXPAND|wx.ALL,border=5) sizertopPanel.Add(HeadLow.Low(topPanel),0,wx.EXPAND|wx.ALL,border=10) topPanel.SetSizer(sizertopPanel) self.SetSizer(sizertopPanel)
def __init__(self, parent, puerto): 'contructor requiere de parent como interfaz contenedor y manipulador como clase que accedera a la informacion' self.puerto = puerto self.parent = parent wx.Panel.__init__(self, parent) # Inicialización Panel Padre self.SetBackgroundColour('3399FF') # parametros basicos generales del registro self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", str(self.puerto)) #se requerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) self.lblusuario = wx.StaticText(self, label="Usuario: ", pos=(100, 35)) self.editusuario = wx.TextCtrl(self, value="", pos=(0, 35), size=(140, -1)) self.lblcontra = wx.StaticText(self, label="Contraseña: ", pos=(100, 65)) self.editcontra = wx.TextCtrl(self, value="", pos=(0, 35), size=(140, -1), style=wx.TE_PASSWORD) self.lbltipo = wx.StaticText(self, label="Tipo de Usuario: ", pos=(100, 65)) self.sampleListTipo = [] query = "SELECT * FROM tipopersona;" self.tipoescogido = '' #se almacenara el identificador del tipo escogido self.opcionesRoles = self.conexion.connection.ExecuteQuery( query) #consulta de todos los tipos de usuarios print("consutla sql de tipos de roles " + str(self.opcionesRoles)) for a in self.opcionesRoles: self.sampleListTipo.append(a[1]) self.edittipo = wx.ComboBox(self, choices=self.sampleListTipo, style=wx.CB_DROPDOWN) self.edittipo.Bind(wx.EVT_COMBOBOX, self.idtipoescogido) self.buttoningresar = wx.Button(self, wx.ID_OK, label="Ingresar", pos=(100, 65)) self.buttonolvidar = wx.Button(self, wx.ID_OK, label="Olvidé la contraseña", pos=(0, 35)) #como crear un boton agregando su evento self.buttoningresar.Bind(wx.EVT_BUTTON, self.ingresar) self.Bind(wx.EVT_BUTTON, self.olvidarcon, self.buttonolvidar) gs = wx.GridSizer(9, 2, 5, 5) #Creacion grilla de tamaño #--------------Adición de Paneles a la Grilla, esta grilla permite que los paneles se ajuste al tamaño de la pantalla gs.AddMany([(self.lblusuario, 0, wx.ALIGN_CENTER), (self.editusuario, 0, wx.ALIGN_CENTER), (self.lblcontra, 0, wx.ALIGN_CENTER), (self.editcontra, 0, wx.ALIGN_CENTER), (self.lbltipo, 0, wx.ALIGN_CENTER), (self.edittipo, 0, wx.ALIGN_CENTER), (self.buttoningresar, 0, wx.ALIGN_CENTER), (self.buttonolvidar, 0, wx.ALIGN_CENTER)]) sizer = wx.BoxSizer( wx.VERTICAL) #Adición de la grilla de tamaños al panel padre sizer.Add(gs, proportion=1, flag=wx.ALIGN_CENTER) self.SetSizer(sizer)
def __init__(self, parent, idestudiante, frame, localport): self.parent = parent 'Constructor que recibe a parent como contenedor' #--------------Inicializacion Panel Padre-------------- wx.Panel.__init__(self, parent) self.SetBackgroundColour("#00BF8F") #--------------Instancia Clase Componente-------------- Component = Componentes.Component(self) self.parent = parent self.frame = frame self.idestudiante = idestudiante self.idcurso = 0 querymiscursos = "select curso.id_curso, curso.nom_curso, persona.id_persona, (persona.nom_pers||' '||persona.apellido_pers) from curso, " querymiscursos += "persona, curso_estudiante,docente where curso_estudiante.id_persn = " + str( self.idestudiante) querymiscursos += " and curso_estudiante.id_curso = curso.id_curso and curso.id_prof = docente.id_persona " querymiscursos += "and docente.id_persona = persona.id_persona" self.localport = str(localport) self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", self.localport) #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) self.miscursos = self.conexion.connection.ExecuteQuery(querymiscursos) #--------------Creacion padre hijo-------------- PanelComponentsLabel = wx.Panel(self) #--------------Label "Miscursos"-------------- self.label = Component.CreateLabel(PanelComponentsLabel, 15, pos=(0, 0), label="Mis Cursos") sizerPanelLabel = wx.BoxSizer(wx.VERTICAL) sizerPanelLabel.Add(self.label, 0, wx.ALIGN_CENTER) PanelComponentsLabel.SetSizer(sizerPanelLabel) PanelComponentsLabel.SetBackgroundColour("3399FF") grilla = wx.GridSizer(len(self.miscursos) + 1, 4, 0, 0) labelTitulo1 = Component.CreateLabel(self, 12, pos=(0, 0), label='Código') labelTitulo2 = Component.CreateLabel(self, 12, pos=(0, 0), label='Nombre') labelTitulo3 = Component.CreateLabel(self, 12, pos=(0, 0), label='Docente') labelTitulo4 = Component.CreateLabel(self, 12, pos=(0, 0), label=' ') grilla.Add(labelTitulo1, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo2, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo3, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo4, 0, wx.ALIGN_CENTER) for a in range(len(self.miscursos)): labelCurso = Component.CreateLabel(self, 12, pos=(0, 0), label=str(self.miscursos[a][0])) labelCurso2 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.miscursos[a][1])) labelCurso3 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.miscursos[a][3])) buttonCurso = Component.CreateButton(self, "Seleccionar") buttonCurso.idcur = self.miscursos[a][0] buttonCurso.Bind(wx.EVT_BUTTON, self.OnClick, buttonCurso) grilla.Add(labelCurso, 0, wx.ALIGN_CENTER) grilla.Add(labelCurso2, 0, wx.ALIGN_CENTER) grilla.Add(labelCurso3, 0, wx.ALIGN_CENTER) grilla.Add(buttonCurso, 0, wx.ALIGN_CENTER) #--------------Creacion grilla de tamano 3 filas 1 columna-------------- gs = wx.GridSizer(4, 1, 0, 0) #--------------Adicion de Paneles a la Grilla-------------- gs.AddMany([(PanelComponentsLabel, 0, wx.ALIGN_CENTER), (grilla, 0, wx.ALIGN_CENTER)]) #--------------Adicion de la grilla de tamanos al panel padre-------------- sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(gs, proportion=1, flag=wx.EXPAND) self.SetSizer(sizer)
def __init__(self, localhost, gesdatos, user, password, port): self.connection = ConnectionDataBase.Connection( localhost, gesdatos, user, password, port)
def __init__(self, idestudiante, localport): 'contructor requiere de parent como interfaz contenedor y manipulador como clase que accedera a la informacion' self.localport = str(localport) self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", self.localport) #se rquerie de datos para conexion a motor self.conexion = ConnSchema.ConnSchema(self.conectordatabase) self.idestudiante = idestudiante app = wx.App(False) displaySize = wx.DisplaySize() wx.Frame.__init__(self, None, pos=(0, 0), size=(displaySize[0], displaySize[1])) displaySize = wx.DisplaySize() topPanel = scrolled.ScrolledPanel(self) topPanel.SetupScrolling(scroll_y=True) topPanel.SetBackgroundColour('#00BF8F') sizertopPanel = wx.BoxSizer(wx.VERTICAL) sizertopPanel.Add(HeadLow.Head(topPanel), 0, wx.EXPAND | wx.ALL, border=10) sizertopPanel.Add(Body(topPanel, idestudiante, self.localport), 0, wx.EXPAND | wx.ALL, border=10) sizertopPanel.Add(HeadLow.Low(topPanel), 0, wx.EXPAND | wx.ALL, border=10) topPanel.SetSizer(sizertopPanel) self.sizer = sizertopPanel self.topPanel = topPanel self.topanel = topPanel self.Bind(wx.EVT_CLOSE, self.OnClose) #Genracion de menu Principal que controlara el interfaz menuBar = wx.MenuBar() menu = wx.Menu() m_exit = menu.Append(wx.ID_EXIT, "&salir\tAlt-X", "Close window and exit program.") self.Bind(wx.EVT_MENU, self.OnClose, m_exit) menuBar.Append(menu, "&Archivo") menu = wx.Menu() m_miscursos = menu.Append(ID_CURSO, "&Mis Cursos", "Ingresar al modulo Cursos") self.Bind(wx.EVT_MENU, self.abrirmiscursos, m_miscursos, id=ID_CURSO) m_buscarcursos = menu.Append(ID_BUSCAR_CURSO, "&Buscar Cursos", "Ingresar al modulo de buscar Cursos") self.Bind(wx.EVT_MENU, self.buscarCursos, m_buscarcursos, id=ID_BUSCAR_CURSO) menuBar.Append(menu, "&Cursos") menu = wx.Menu() m_about = menu.Append(wx.ID_ABOUT, "&Sobre nosotros", "Information about this program") self.Bind(wx.EVT_MENU, self.OnAbout, m_about) menuBar.Append(menu, "&Ayuda") self.SetMenuBar(menuBar) self.Show() self.Fit() app.MainLoop()
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = "Gesdatos" __date__ = "$20-jul-2015 18:52:55$" import wx import panel1 import panel2 import panel3 import panel4 import panel5 import Tabla import wx.lib.scrolledpanel as scrolled import ConnectionDataBase """Realiza una prueba y manejo de las interfaces de este módulo""" conn = ConnectionDataBase.Connection("localhost", "DBPrueba", "postgres", "12345") app = wx.App(False) frame = wx.Frame(None, -1, title="Consultas", size=(900, 900)) wx.InitAllImageHandlers() topPanela = scrolled.ScrolledPanel(frame) topPanela.SetupScrolling(scroll_y=True) Panel1 = panel1.Panel1(topPanela, conn) Panel2 = panel2.Panel2(topPanela, conn) Panel3 = panel3.Titulo1(topPanela) Panel4 = panel3.Titulo2(topPanela) Panel5 = panel3.Titulo3(topPanela) Panel6 = panel4.Panel4(topPanela, conn) Panel7 = panel5.Panel5(topPanela) sizer = wx.BoxSizer(wx.VERTICAL)
def __init__(self, parent, idestudiante, idcurso, localport): 'Constructor de la interfaz que recibe su contenedor' #--------------Inicializacion Panel Padre-------------- wx.Panel.__init__(self, parent) self.SetBackgroundColour("#00BF8F") #--------------Instancia Clase Componente-------------- Component = Componentes.Component(self) self.parent = parent self.idestudiante = idestudiante self.idcurso = idcurso self.localport = str(localport) queryexamencurso = "select examen.id_exa, examen.titulo_exa, tipoexamen.desc_tipoexa, examen.fecha, " queryexamencurso += "examen.tiempo_exa_inicio, examen.tiempo_exa_fin from examen, curso_examen, tipoexamen " queryexamencurso += "where curso_examen.id_curso = " + str( self.idcurso) + " and curso_examen.id_examen = examen.id_exa " queryexamencurso += "and examen.tipoexa = tipoexamen.id_tipoexa order by examen.fecha, examen.tiempo_exa_inicio " self.conectordatabase = ConnectionDataBase.Connection( "localhost", "examen", "adminexamen", "pasexamen", self.localport) self.conexion = ConnSchema.ConnSchema(self.conectordatabase) self.examenescurso = self.conexion.connection.ExecuteQuery( queryexamencurso) print(self.examenescurso) #--------------Instancia Clase ComponenteTitulo-------------- #--------------Creacion padre hijo-------------- PanelComponentsLabel = wx.Panel(self) self.label = Component.CreateLabel(PanelComponentsLabel, 15, pos=(0, 0), label="Examenes") sizerPanelLabel = wx.BoxSizer(wx.VERTICAL) sizerPanelLabel.Add(self.label, 0, wx.ALIGN_CENTER) PanelComponentsLabel.SetSizer(sizerPanelLabel) #--------------Asignacion de color a panel-------------- PanelComponentsLabel.SetBackgroundColour("#00BF8F") if len(self.examenescurso) == 0: label0 = Component.CreateLabel( self, 12, pos=(0, 0), label='El curso no tiene exámenes asignados') grilla = wx.GridSizer(1, 1, 0, 0) grilla.Add(label0, 0, wx.ALIGN_CENTER) else: grilla = wx.GridSizer(len(self.examenescurso) + 1, 7, 0, 0) labelTitulo1 = Component.CreateLabel(self, 12, pos=(0, 0), label='Código') labelTitulo2 = Component.CreateLabel(self, 12, pos=(0, 0), label='Nombre') labelTitulo3 = Component.CreateLabel(self, 12, pos=(0, 0), label='Tipo') labelTitulo4 = Component.CreateLabel(self, 12, pos=(0, 0), label='Fecha') labelTitulo5 = Component.CreateLabel(self, 12, pos=(0, 0), label='Hora Inicio') labelTitulo6 = Component.CreateLabel(self, 12, pos=(0, 0), label='Hora Final') labelTitulo7 = Component.CreateLabel(self, 12, pos=(0, 0), label=' ') grilla.Add(labelTitulo1, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo2, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo3, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo4, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo5, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo6, 0, wx.ALIGN_CENTER) grilla.Add(labelTitulo7, 0, wx.ALIGN_CENTER) for a in range(len(self.examenescurso)): labelExamen1 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.examenescurso[a][0])) labelExamen2 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.examenescurso[a][1])) labelExamen3 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.examenescurso[a][2])) labelExamen4 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.examenescurso[a][3])) labelExamen5 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.examenescurso[a][4])) labelExamen6 = Component.CreateLabel(self, 12, pos=(0, 0), label=str( self.examenescurso[a][5])) buttonExamen = Component.CreateButton(self, "Seleccionar") buttonExamen.idexam = self.examenescurso[a][0] buttonExamen.Bind(wx.EVT_BUTTON, self.OnClick, buttonExamen) grilla.Add(labelExamen1, 0, wx.ALIGN_CENTER) grilla.Add(labelExamen2, 0, wx.ALIGN_CENTER) grilla.Add(labelExamen3, 0, wx.ALIGN_CENTER) grilla.Add(labelExamen4, 0, wx.ALIGN_CENTER) grilla.Add(labelExamen5, 0, wx.ALIGN_CENTER) grilla.Add(labelExamen6, 0, wx.ALIGN_CENTER) grilla.Add(buttonExamen, 0, wx.ALIGN_CENTER) #--------------Creacion grilla de tamano 2 filas 1 columna-------------- gs = wx.GridSizer(2, 1, 0, 0) #--------------Adicion de Paneles a la Grilla-------------- gs.AddMany([(PanelComponentsLabel, 0, wx.ALIGN_CENTER), (grilla, 0, wx.ALIGN_CENTER)]) #--------------Adicion de la grilla de tamanos al panel padre-------------- sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(gs, proportion=1, flag=wx.EXPAND) self.SetSizer(sizer)