def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.load_productos() self.set_signals() self.show()
def __init__(self, tipo=None, rut=None): 'Constructor de la clase' QtGui.QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.show() self.importarDatos() self.setSignals()
class MainWindow(QtGui.QMainWindow): def __init__(self, tipo=None, rut=None): 'Constructor de la clase' QtGui.QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.show() self.importarDatos() self.setSignals() def setSignals(self): 'Enventos de los elementos de la ventana principal' self.ui.button_buscar.clicked.connect(self.buscarRegistro) self.ui.button_nuevo.clicked.connect(self.nuevoRegistro) self.ui.cbox_comuna.currentIndexChanged.connect(self.seleccionaComuna) self.ui.actionA_adir_Usuario.triggered.connect(self.reg_usuario) self.ui.actionEstablecimiento.triggered.connect(self.agregarEstablecimiento) self.ui.actionComuna.triggered.connect(self.agregarComuna) self.ui.actionInf_1er_Semestre.triggered.connect(self.nuevoInforme) self.ui.cbox_anho1.currentIndexChanged.connect(self.currentIndexChanged2) self.ui.button_buscar_registro.clicked.connect(self.cargarRegistro) self.ui.actionSalir.triggered.connect(self.salir) self.ui.actionModificar_Comuna.triggered.connect(self.mod_Comuna) self.ui.actionModificar_Establecimiento.triggered.connect(self.mod_Establecimiento) def salir(self): self.close() def errorMessage(self, message): """Función que despliega un mensaje de error. @param message""" QtGui.QMessageBox.warning( self, u"ERROR!", message) def nuevoRegistro(self): self.main = nuevoRegistroWindow(self.ui.cbox_establecimiento.currentText(), self.ui.cbox_mes2.currentText(), self.ui.cbox_anho2.currentText()) self.main.show() def buscarRegistro(self): 'Método para buscar los registros de la comuna y establecimiento seleccionado' if(self.ui.cbox_comuna.currentIndex() is not 0): self.ui.groupBox_5.setEnabled(True) self.ui.groupBox_6.setEnabled(True) self.ui.groupBox_2.setEnabled(True) self.ui.texto_comuna_label.setText(self.ui.cbox_comuna.currentText()) self.ui.texto_establecimiento_label.setText(self.ui.cbox_establecimiento.currentText()) self.cargaRegistros() self.datosMesAnho() else: self.errorMessage(u"Comuna no seleccionada") def cargarRegistro(self): if(self.ui.cbox_anho1.currentIndex() is not 0): self.main = registroCargadoWindow(self.ui.cbox_establecimiento.currentText(), self.ui.cbox_mes1.currentText(), self.ui.cbox_anho1.currentText()) self.main.show() else: self.errorMessage(u"Año no seleccionado") def cargaRegistros(self): lista_anios = list() idEstablecimiento = controller.obtenerIdEstablecimiento(self.ui.cbox_establecimiento.currentText()) registros = controller.obtenerAnhos(idEstablecimiento) for i in range(len(registros)): lista_anios.append(registros[0].anho) lista_anios_unicos = list(set(lista_anios)) if not registros: self.ui.cbox_anho1.clear() self.ui.cbox_anho1.addItem("--------") else: self.ui.cbox_anho1.clear() self.ui.cbox_anho1.addItem("--------") for i, registro in enumerate(lista_anios_unicos): self.ui.cbox_anho1.addItem(str(registro), i) def datosMesAnho(self): self.ui.cbox_mes2.clear() self.ui.cbox_anho2.clear() meses = ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"] for i in meses: self.ui.cbox_mes2.addItem(i) for i in range(1990, datetime.date.today().year+1): self.ui.cbox_anho2.addItem(str(i)) def seleccionaComuna(self, index): if(index is not 0): idComuna = controller.obtenerIdComuna(self.ui.cbox_comuna.currentText()) establecimientos = controller.obtenerEstablecimientos(idComuna) self.ui.cbox_establecimiento.clear() for i, establecimiento in enumerate(establecimientos): self.ui.cbox_establecimiento.addItem(establecimiento.nombre, i) else: self.ui.cbox_establecimiento.clear() self.ui.cbox_establecimiento.addItem("--------") def currentIndexChanged2(self, index): if(index != 0 and index != -1): idEstablecimiento = controller.obtenerIdEstablecimiento(self.ui.cbox_establecimiento.currentText()) registros = controller.obtenerMeses(idEstablecimiento, self.ui.cbox_anho1.currentText()) self.ui.cbox_mes1.clear() for i, registro in enumerate(registros): self.ui.cbox_mes1.addItem(registro.mes, i) else: self.ui.cbox_mes1.clear() self.ui.cbox_mes1.addItem("--------") def reg_usuario(self): self.regUsuario = Form_usuario() self.regUsuario.exec_() def agregarEstablecimiento(self): self.regEstablecimiento = Form_establecimiento() self.regEstablecimiento.exec_() def agregarComuna(self): self.regComuna = Form_comuna() self.regComuna.exec_() def mod_Comuna(self): self.modComuna = Modificar_comuna() self.modComuna.exec_() def mod_Establecimiento(self): self.modEstablecimiento = Modificar_establecimiento() self.modEstablecimiento.exec_() def importarDatos(self): comunas = controller.obtenerComunas() self.ui.cbox_comuna.addItem("--------") for i, comuna in enumerate(comunas): self.ui.cbox_comuna.addItem(comuna.nombre, i) self.ui.cbox_establecimiento.addItem("--------") def nuevoInforme(self): self.generarInforme = FormInformeSemestral() self.generarInforme.show()
class VentanaPrincipal(QtGui.QMainWindow): table_columns = ( (u"Codigo", 200), (u"Nombre", 100), (u"Descripción", 200), (u"Marca", 100), (u"Color", 75), (u"Cant. prod. vendidos", 150), (u"Total prod. vendidos", 150)) def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.load_productos() self.set_signals() self.show() def set_signals(self): #en esta funcion se definen todos los tratamientos de señales. self.ui.btn_editar.clicked.connect(self.editar) self.ui.btn_agregar.clicked.connect(self.agregar) self.ui.btn_eliminar.clicked.connect(self.eliminar) self.ui.btn_nuevacompra.clicked.connect(self.nueva_compra) self.ui.btn_compras.clicked.connect(self.compras) def buscar(self): if self.ui.lineEdit.text() == "" or not bool( self.ui.lineEdit.text().strip()): self.load_productos() else: productos = Producto().buscador_pro(str(self.ui.lineEdit.text())) rows = len(productos) model = QtGui.QStandardItemModel( rows, len(self.table_columns)) self.ui.table_productos.setModel(model) self.ui.table_productos.horizontalHeader().setResizeMode( 0, self.ui.table_productos.horizontalHeader().Stretch) for col, h in enumerate(self.table_columns): model.setHeaderData(col, QtCore.Qt.Horizontal, h[0]) self.ui.table_productos.setColumnWidth(col, h[1]) for i, data in enumerate(productos): data7 = None for xca in Producto().load_cant_total(data[0])[0]: data6 = xca for xto in Producto().load_cant_total(data[0])[1]: data7 = xto if (data7 == None): data7 = 0 row = [data[1], data[2], data[3], data[4], data[5], data6, data7] for j, field in enumerate(row): index = model.index(i, j, QtCore.QModelIndex()) model.setData(index, field) #Parametros ocultos model.item(i).prod = data model.item(i).pk = data[0] def compras(self): form = view_compras.Form() form.rejected.connect(self.load_productos) form.exec_() def nueva_compra(self): form = view_nueva_compra.Form() form.rejected.connect(self.load_productos) form.exec_() def load_productos(self): # Método que carga la tabla productos en la Ventana. productos = Producto.all() rows = len(productos) model = QtGui.QStandardItemModel( rows, len(self.table_columns)) self.ui.table_productos.setModel(model) self.ui.table_productos.horizontalHeader().setResizeMode( 0, self.ui.table_productos.horizontalHeader().Stretch) for col, h in enumerate(self.table_columns): model.setHeaderData(col, QtCore.Qt.Horizontal, h[0]) self.ui.table_productos.setColumnWidth(col, h[1]) for i, data in enumerate(productos): data7 = None for xca in Producto().load_cant_total(data[0])[0]: data6 = xca for xto in Producto().load_cant_total(data[0])[1]: data7 = xto if (data7 == None): data7 = 0 row = [data[1], data[2], data[3], data[4], data[5], data6, data7] for j, field in enumerate(row): index = model.index(i, j, QtCore.QModelIndex()) model.setData(index, field) #Parametros ocultos model.item(i).prod = data model.item(i).pk = data[0] def editar(self): model = self.ui.table_productos.model() index = self.ui.table_productos.currentIndex() if index.row() == -1: # No se ha seleccionado una fila self.errorMessageDialog = QtGui.QErrorMessage(self) self.errorMessageDialog.showMessage("Debe seleccionar una fila") return False else: id_producto = model.item(index.row()).pk cod = model.item(index.row()).prod[1] nom = model.item(index.row()).prod[2] des = model.item(index.row()).prod[3] mar = model.item(index.row()).prod[4] col = model.item(index.row()).prod[5] form = view_edit_producto.Form(self, id_producto, cod, nom, des, mar, col) form.rejected.connect(self.load_productos) form.exec_() self.load_productos() def eliminar(self): model = self.ui.table_productos.model() index = self.ui.table_productos.currentIndex() if index.row() == -1: # No se ha seleccionado una fila self.errorMessageDialog = QtGui.QErrorMessage(self) self.errorMessageDialog.showMessage("Debe seleccionar una fila") return False else: id_producto = model.item(index.row()).pk p = Producto() p.id_producto = id_producto p.delete() self.load_productos() def agregar(self): form = view_vent_ingreso_producto.Form() form.rejected.connect(self.load_productos) form.exec_()