Пример #1
0
class Factura(QHBoxLayout):

    numero = ''
    titulo = ''
    tamanio = 12
    enabled = True

    def __init__(self, parent=None, *args, **kwargs):
        QHBoxLayout.__init__(self)
        if 'titulo' in kwargs:
            self.titulo = kwargs['titulo']
        if 'tamanio' in kwargs:
            self.tamanio = kwargs['tamanio']
        if 'enabled' in kwargs:
            self.enabled = kwargs['enabled']

        self.setupUi(parent)

    def setupUi(self, layout):

        if self.titulo:
            self.labelTitulo = Etiqueta(layout,
                                        texto=self.titulo,
                                        tamanio=self.tamanio)
            self.labelTitulo.setObjectName("labelTitulo")
            self.addWidget(self.labelTitulo)

        self.lineEditPtoVta = EntradaTexto(layout,
                                           placeholderText="Pto Vta",
                                           tamanio=self.tamanio)
        self.lineEditPtoVta.setObjectName("lineEditPtoVta")
        self.lineEditPtoVta.setEnabled(self.enabled)
        self.addWidget(self.lineEditPtoVta)

        self.lineEditNumero = EntradaTexto(layout,
                                           placeholderText="Numero",
                                           tamanio=self.tamanio)
        self.lineEditNumero.setObjectName("lineEditNumero")
        self.lineEditNumero.setEnabled(self.enabled)
        self.addWidget(self.lineEditNumero)

        self.lineEditPtoVta.proximoWidget = self.lineEditNumero
        self.lineEditNumero.largo = 8
        self.lineEditPtoVta.largo = 4
        self.lineEditPtoVta.setMaximumWidth(40)
        self.lineEditNumero.setMaximumWidth(70)

        self.lineEditPtoVta.editingFinished.connect(self.AssignNumero)
        self.lineEditNumero.editingFinished.connect(self.AssignNumero)

    def AssignNumero(self):
        if self.lineEditNumero.text():
            self.lineEditNumero.setText(
                str(self.lineEditNumero.text()).zfill(8))
        if self.lineEditPtoVta.text():
            self.lineEditPtoVta.setText(
                str(self.lineEditPtoVta.text()).zfill(4))

        self.numero = str(self.lineEditPtoVta.text()).zfill(4) + \
                      str(self.lineEditNumero.text()).zfill(8)
Пример #2
0
    def ArmaEntrada(self, nombre="", boxlayout=None, texto='', *args, **kwargs):
        if not boxlayout:
            boxlayout = QHBoxLayout()
            lAgrega = True
        else:
            lAgrega = False

        if not texto:
            texto = nombre.capitalize()

        labelNombre = Etiqueta(texto=texto)
        labelNombre.setObjectName("labelNombre")
        boxlayout.addWidget(labelNombre)

        if 'control' in kwargs:
            lineEditNombre = kwargs['control']
        else:
            lineEditNombre = EntradaTexto()

        if 'relleno' in kwargs:
            lineEditNombre.relleno = kwargs['relleno']

        lineEditNombre.setObjectName(nombre)
        boxlayout.addWidget(lineEditNombre)
        if 'enabled' in kwargs:
            lineEditNombre.setEnabled(kwargs['enabled'])

        self.controles[nombre] = lineEditNombre

        if lAgrega:
            self.verticalLayoutDatos.addLayout(boxlayout)
        return boxlayout
Пример #3
0
    def ArmaEntrada(self,
                    nombre="",
                    boxlayout=None,
                    texto='',
                    *args,
                    **kwargs):
        if not nombre:
            return
        if not boxlayout:
            boxlayout = QHBoxLayout()
            lAgrega = True
        else:
            lAgrega = False

        if not texto:
            if isinstance(nombre, str):
                texto = nombre.capitalize()
            else:
                texto = nombre.verbose_name if nombre.verbose_name else nombre.name.capitalize(
                )

        if not isinstance(
                nombre, str
        ):  #si no es un campo texto intento convertir de un campo de pewee
            nombre = nombre.name

        labelNombre = Etiqueta(texto=texto)
        labelNombre.setObjectName("labelNombre")
        boxlayout.addWidget(labelNombre)

        if 'control' in kwargs:
            lineEditNombre = kwargs['control']
        else:
            lineEditNombre = EntradaTexto()

        if 'relleno' in kwargs:
            lineEditNombre.relleno = kwargs['relleno']

        if 'inputmask' in kwargs:
            lineEditNombre.setInputMask(kwargs['inputmask'])

        #print(type(lineEditNombre))
        lineEditNombre.setObjectName(nombre)
        boxlayout.addWidget(lineEditNombre)
        if 'enabled' in kwargs:
            lineEditNombre.setEnabled(kwargs['enabled'])

        self.controles[nombre] = lineEditNombre

        if lAgrega:
            self.verticalLayoutDatos.addLayout(boxlayout)
        return boxlayout
Пример #4
0
class Periodo(QHBoxLayout):

    cPeriodo = ''
    dInicio = None  #date que indica el primer dia del mes
    dFin = None  #date que indica el ultimo dia del mes
    textoEtiqueta = ''

    def __init__(self, parent=None, *args, **kwargs):

        QHBoxLayout.__init__(self)
        if 'texto' in kwargs:
            textoEtiqueta = kwargs['texto']
            self.labelPeriodo = Etiqueta(parent, texto=textoEtiqueta)
            self.labelPeriodo.setObjectName("labelPeriodo")
            self.addWidget(self.labelPeriodo)

        self.lineEditMes = Spinner(parent)
        self.lineEditMes.setDecimals(0)
        self.lineEditMes.setObjectName("lineEditMes")
        self.addWidget(self.lineEditMes)
        self.lineEditAnio = Spinner(parent)
        self.lineEditAnio.setDecimals(0)
        self.lineEditAnio.setObjectName("lineEditAnio")
        self.addWidget(self.lineEditAnio)

        self.lineEditMes.proximoWidget = self.lineEditAnio
        self.lineEditAnio.valueChanged.connect(self.ActualizaPeriodo)
        self.lineEditMes.valueChanged.connect(self.ActualizaPeriodo)
        self.lineEditAnio.setValue(datetime.date.today().year)
        self.lineEditMes.setValue(datetime.date.today().month)
        self.lineEditMes.setMinimum(1.)
        self.lineEditMes.setMaximum(12.)
        self.lineEditAnio.setMinimum(2000.)
        self.lineEditAnio.setMaximum(2050.)
        self.lineEditAnio.setValue(datetime.date.today().year)

    def ActualizaPeriodo(self):
        self.cPeriodo = self.lineEditAnio.text() + str(
            self.lineEditMes.text()).zfill(2)
        if self.lineEditMes.value() >= 1 and self.lineEditMes.value() <= 12:
            self.dInicio = InicioMes(
                datetime.date(int(self.lineEditAnio.value()),
                              int(self.lineEditMes.value()), 1))
        self.dFin = FinMes(self.dInicio)
Пример #5
0
class ValidaConNombre(QHBoxLayout):

    textoEtiqueta = 'Nombre'
    modelo = None
    campoNombre = None
    campoRetorno = None
    camposTabla = []
    largo = 0
    maxwidth = 50

    def __init__(self, parent=None, *args, **kwargs):
        super().__init__(parent)

        if 'texto' in kwargs:
            self.textoEtiqueta = kwargs['texto']

        self.labelNombre = Etiqueta(parent, texto=self.textoEtiqueta)
        self.labelNombre.setObjectName("labelNombre")
        self.addWidget(self.labelNombre)

        self.lineEditCodigo = Validaciones(parent)
        self.lineEditCodigo.setObjectName("lineEditNombre")
        self.lineEditCodigo.modelo = self.modelo
        self.lineEditCodigo.campoNombre = self.campoNombre
        self.lineEditCodigo.campoRetorno = self.campoRetorno
        self.lineEditCodigo.cOrden = self.campoNombre
        self.lineEditCodigo.camposTabla = self.camposTabla
        self.lineEditCodigo.campos = self.lineEditCodigo.camposTabla
        self.lineEditCodigo.largo = self.largo
        self.lineEditCodigo.setMaximumWidth(self.maxwidth)
        self.addWidget(self.lineEditCodigo)

        self.labelDescripcion = EtiquetaRoja(parent, texto="")
        self.labelDescripcion.setObjectName("labelDescripcion")
        self.addWidget(self.labelDescripcion)
        self.lineEditCodigo.widgetNombre = self.labelDescripcion