class Movies(QtGui.QMainWindow): table_columns = ( (u"Título", 200), (u"Año", 100), (u"Director", 200), (u"País", 100), (u"Ranking", 75)) def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.load_movies() self.signals() self.show() def signals(self): #toma miss señales self.ui.btn_up.clicked.connect(self.up) self.ui.btn_down.clicked.connect(self.down) self.ui.table_movies.clicked.connect(self.select) def load_movies(self): #carga mi tabla movies a la ventana movies = controller.get_movies() rows = len(movies) model = QtGui.QStandardItemModel( rows, len(self.table_columns)) self.ui.table_movies.setModel(model) self.ui.table_movies.horizontalHeader().setResizeMode( 0, self.ui.table_movies.horizontalHeader().Stretch) for col, h in enumerate(self.table_columns): model.setHeaderData(col, QtCore.Qt.Horizontal, h[0]) self.ui.table_movies.setColumnWidth(col, h[1]) for i, data in enumerate(movies): row = [data[1], data[3], data[4], data[5], data[8]] for j, field in enumerate(row): index = model.index(i, j, QtCore.QModelIndex()) model.setData(index, field) #Parametros ocultos model.item(i).mov = data model.item(i).pk = data[0] def up(self): #para subir la pelicula model = self.ui.table_movies.model() index = self.ui.table_movies.currentIndex() if index.row() == -1: self.errorMessageDialog = QtGui.QErrorMessage(self) self.errorMessageDialog.showMessage("Seleccione fila!!!") return False else: id_movie = model.item(index.row()).pk if (controller.up(id_movie)): self.load_movies() return True else: return False def down(self): # lo baja en el ranking model = self.ui.table_movies.model() index = self.ui.table_movies.currentIndex() if index.row() == -1: self.errorMessageDialog = QtGui.QErrorMessage(self) self.errorMessageDialog.showMessage("Seleccione fila!!!") return False else: id_movie = model.item(index.row()).pk if (controller.down(id_movie)): self.load_movies() return True else: return False def select(self): #recargo la informacion, para despues cargarla en la ventana model = self.ui.table_movies.model() index = self.ui.table_movies.currentIndex() id_movie = model.item(index.row()).pk rep = controller.get_reparto(id_movie) rep = str(rep[0][0]) self.ui.lbl_stars.setText(rep) des = controller.get_descripcion(id_movie) des = str(des[0][0]) self.ui.lbl_description.setText(des) im = controller.get_imagen(id_movie)#busco mi imagen im = str(im[0][0]) self.ui.lbl_imagen.setPixmap(im)# cargo mi imagen
class ventanita(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.raiz = None QtCore.QObject.connect(self.ui.texto, QtCore.SIGNAL("returnPressed()"), self.crearnodo) QtCore.QObject.connect(self.ui.botonagregar, QtCore.SIGNAL("clicked()"), self.crearnodo) QtCore.QObject.connect(self.ui.botonretirar, QtCore.SIGNAL("clicked()"), self.inicializareliminar) def crearnodo(self): try: auxiliar = nodo(int(self.ui.texto.text())) if self.raiz == None: self.raiz = auxiliar else: self.insertar(self.raiz, auxiliar) self.repaint() except: print "No es un numero" self.ui.texto.setText("") self.ui.texto.setFocus() def insertar(self, auxiliar, nuevo): if nuevo.dato < auxiliar.dato: if auxiliar.izquierda == None: auxiliar.izquierda = nuevo else: self.insertar(auxiliar.izquierda, nuevo) elif nuevo.dato > auxiliar.dato: if auxiliar.derecha == None: auxiliar.derecha = nuevo else: self.insertar(auxiliar.derecha, nuevo) elif nuevo.dato == auxiliar.dato: QtGui.QMessageBox.information(self, "Aviso", "Numero repetido") def inicializareliminar(self): try: if self.raiz != None: if self.raiz.dato == int(self.ui.texto.text()): if self.raiz.izquierda == None and self.raiz.derecha == None: self.raiz = None elif self.raiz.izquierda == None: self.raiz = self.raiz.derecha elif self.raiz.derecha == None: self.raiz = self.raiz.izquierda else: auxiliar = self.raiz.izquierda self.raiz = self.raiz.derecha self.insertar(self.raiz, auxiliar) else: try: self.eliminar(self.raiz, nodo(int(self.ui.texto.text()))) except AttributeError: print "No esta el numero" self.repaint() self.ui.texto.setText("") self.ui.texto.setFocus() except ValueError: print "No es un numero" def eliminar(self, auxiliar, numero): if numero.dato < auxiliar.dato: if numero.dato == auxiliar.izquierda.dato: if auxiliar.izquierda.izquierda == None and auxiliar.izquierda.derecha == None: auxiliar.izquierda = None elif auxiliar.izquierda.izquierda == None: auxiliar.izquierda = auxiliar.izquierda.derecha elif auxiliar.izquierda.derecha == None: auxiliar.izquierda = auxiliar.izquierda.izquierda else: auxiliar2 = auxiliar.izquierda.izquierda auxiliar.izquierda = auxiliar.izquierda.derecha self.insertar (auxiliar.izquierda, auxiliar2) else: self.eliminar(auxiliar.izquierda, numero) elif numero.dato > auxiliar.dato: if numero.dato == auxiliar.derecha.dato: if auxiliar.derecha.derecha == None and auxiliar.derecha.izquierda == None: auxiliar.derecha = None elif auxiliar.derecha.izquierda == None: auxiliar.derecha = auxiliar.derecha.derecha elif auxiliar.derecha.derecha == None: auxiliar.derecha = auxiliar.derecha.izquierda else: auxiliar2 = auxiliar.derecha.izquierda auxiliar.derecha = auxiliar.derecha.derecha self.insertar (auxiliar.derecha, auxiliar2) else: self.eliminar(auxiliar.derecha, numero) def paintEvent(self, event): paint = QtGui.QPainter() paint.begin(self) X = self.size().width() self.pintar(paint, self.raiz, X/2, 100, X/2) paint.end() def pintar(self, paint, auxiliar, X, Y, ayuda): if auxiliar != None : paint.setPen(QtGui.QColor("Red")) paint.drawText(X, Y, str(auxiliar.dato)) paint.drawEllipse(X-10, Y-20, 30, 30) if auxiliar.izquierda != None: paint.setPen(QtGui.QColor("Blue")) paint.drawLine(X+4, Y+10, X+4-ayuda/2, Y+60) if auxiliar.derecha != None: paint.setPen(QtGui.QColor("Blue")) paint.drawLine(X+4, Y+10, X+4+ayuda/2, Y+60) self.pintar(paint, auxiliar.izquierda, X-ayuda/2, Y+80, ayuda/2) self.pintar(paint, auxiliar.derecha, X+ayuda/2, Y+80, ayuda/2);
class Main(QtGui.QMainWindow): def __init__(self): super(Main, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.show()
mensaje[ind] = "" pass mensaje = ("".join(mensaje)) ui.Texto_2.setPlainText(mensaje) def setOpcion(objeto, numero): objeto.Texto.textChanged.connect(lambda: encriptar(numero)) encriptar(numero) if __name__ == "__main__": app = QApplication(sys.argv) main = QMainWindow() ui = Ui_MainWindow() ui.setupUi(main) main.show() ui.plainText1.textChanged.connect( lambda: insertar_letra(0, 0, ui.plainText1)) ui.plainText2.textChanged.connect( lambda: insertar_letra(0, 1, ui.plainText2)) ui.plainText3.textChanged.connect( lambda: insertar_letra(0, 2, ui.plainText3)) ui.plainText4.textChanged.connect( lambda: insertar_letra(0, 3, ui.plainText4)) ui.plainText5.textChanged.connect( lambda: insertar_letra(0, 4, ui.plainText5)) ui.plainText6.textChanged.connect( lambda: insertar_letra(0, 5, ui.plainText6)) ui.plainText7.textChanged.connect(
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.setWindowTitle('Tarea5') self.ui.guardarB.clicked.connect(self.guardar) self.ui.buscarB.clicked.connect(self.buscar) self.ui.leertodosB.clicked.connect(self.mostarTodos) self.ui.actualizarB.clicked.connect(self.actualizar) self.ui.limpiarB.clicked.connect(self.ui.log.clear) self.ui.eliminarB.clicked.connect(self.eliminar) @Slot() def guardar(self): Tarea4.escribirMe(self.ui.guardarnombre.text(), self.ui.guardarcorreo.text(), self.ui.guardarcontra.text()) self.ui.guardarnombre.clear() self.ui.guardarcorreo.clear() self.ui.guardarcontra.clear() @Slot() def buscar(self): bn = self.ui.buscarnombre.text() self.ui.log.append('Estudiantes encontrados:') self.ui.log.append(Tarea4.leerMe(bn)) @Slot() def mostarTodos(self): text = 'MOSTRANDO TODOS LOS ESTUDIANTES\n' \ f'------------------------------' \ f'------------------------------' self.ui.log.append(text) for o in Tarea4.estudiantes.objects: self.ui.log.append(Tarea4.leerMe(o.nombre)) text = f'------------------------------' \ f'------------------------------' self.ui.log.append(text) @Slot() def actualizar(self): buscar = self.ui.buscarnombre.text() nombre = self.ui.actualizarnombre.text() correo = self.ui.actualizarcorreo.text() contra = self.ui.actualizarcontrasena.text() self.ui.log.append( f'Estudiante actualizado \n{Tarea4.actualizarMe(buscar, nombre, correo, contra)}' ) self.ui.actualizarnombre.clear() self.ui.actualizarcorreo.clear() self.ui.actualizarcontrasena.clear() @Slot() def eliminar(self): eid = self.ui.estudianteid.text() self.ui.log.append(f'ELIMINADO estudiante {Tarea4.borrarMe(eid)}') text = f'------------------------------' \ f'------------------------------' self.ui.log.append(text)