QT - actualizar un combobox

 
Vista:
sin imagen de perfil

actualizar un combobox

Publicado por hito (6 intervenciones) el 22/11/2014 01:26:09
buenas noches amigos yo de nuevo estoy mucho mas adelantado en mi proyecto que la ultima vez que coloque un tema por aqui :D :D :D

pero me encontre con una piedra de tropiezo: lo que ocurre es los siguiente tengo un QDialog con 2 QlineEdit 1 QComboBox y 1 QDateDataTime y un boton hasta hora no es nada del otro mundo, pero el combobox esta relacionando a una tabla y la relacion la hize sin mucho problema :D :D ... que me ocurre el boto llama a otro dialog en caso de que el usuario desee agregar otra opcion al combobox una ves que el usuario coloca lo que le necesita y guarda los datos. el combobox no actualiza el nuevo dato introducido . ( si cierro y abro el Dialog si me muestra los datos actualizados).. que necesito de que forma puedo actualizar ese conbobox sin cerrar completamente el Dialog, hasta ahora no e dado con la forma de hacerlo se me ocurrio colocar un boton para actualizar pero no me fuciono en algunas paginas hablan de las señales update() y repaint() pero no se usarla y los ejemplos que hay sobre esas señales no los entiendo, trate repitiendo parte del codigo principal en una funcion alli si me hacia la aztualizacion del combobox pero luego de ejecutar dicha funcion no guardaba en la base de datos

aqui esta el codigo del formulario

main.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtSql import *
import nuevotipo
import crearmaterial
 
filename ="testui.db"
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName(filename)
 
if not db.open():
    QMessageBox.warning(None, "Phone Log",
        QString("Database Error: %1").arg(db.lastError().text()))
    sys.exit(1)
 
query = QSqlQuery()
 
 
query.exec_("""CREATE TABLE tipo_material (
            id_t_mat INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,
            nom VARCHAR(20) NOT NUll,
            fec_crea DATE NOT NULL,
            fec_mod DATE )""")
query.exec_("DROP TABLE material")
query.exec_("""CREATE TABLE material (
            id_mat INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,
            id_t_mat INTEGER  ,
            cod_mat VARCHAR (20) NOT NULL,
            nom VARCHAR(20) NOT NULL,
            fec_crea DATE NOT NULL,
            fec_mod DATE,
            FOREIGN KEY (id_t_mat) REFERENCES tipo_material)""")
 
 
class Crea_usu (QDialog,crearmaterial.Ui_Dialog):
    def __init__(self,parent=None):
        super(Crea_usu,self).__init__(parent)
        self.setupUi(self)
 
 
        self.fecha.setDateTime(QDateTime.currentDateTime())
 
        self.model= QSqlRelationalTableModel(self)
        self.model.setTable("material")
        self.model.setRelation(1,QSqlRelation("tipo_material","id_t_mat","nom"))
 
        self.model.select()
        row = self.model.rowCount()
        self.model.insertRow(row)
        self.mapper= QDataWidgetMapper(self)
        self.mapper.setSubmitPolicy(QDataWidgetMapper.ManualSubmit)
        self.mapper.setModel(self.model)
 
        self.mapper.setItemDelegate(QSqlRelationalDelegate(self))
 
 
        self.mapper.addMapping(self.codedit,2)
        self.mapper.addMapping(self.matedit,3)
        self.mapper.addMapping(self.fecha,4)
        relationModel = self.model.relationModel(1)
        self.tipbox.setModel(relationModel)
        self.tipbox.setModelColumn(relationModel.fieldIndex("nom"))
        self.mapper.addMapping(self.tipbox,1)
 
        self.mapper.toLast()
        self.save.clicked.connect(self.guardar_clicked)
        self.newtipbtn.clicked.connect(self.tipo_clicked)
        self.f5.clicked.connect(self.act_clicked)
 
 
    def act_clicked (self):
        print("funcionando conex")
 
 
 
    def tipo_clicked (self):
        dialog=New_tip (self)
        dialog.exec_()
 
 
    def guardar_clicked (self):
 
        self.variante=self.matedit.text()
 
        row = self.model.rowCount()
        self.mapper.submit()
        self.model.insertRow(row)
        self.mapper.setCurrentIndex(row)
 
        QMessageBox.information(self, "Hello", "nombre "+self.variante+" guardo correctamente")
 
 
class New_tip (QDialog,nuevotipo.Ui_newtipo):
    def __init__(self,parent=None):
        super (New_tip,self).__init__(parent)
        self.setupUi(self)
        self.fecha.setDateTime(QDateTime.currentDateTime())
        self.model= QSqlTableModel(self)
        self.model.setTable("tipo_material")
        self.model.select()
        row = self.model.rowCount()
        self.model.insertRow(row)
        self.mapper= QDataWidgetMapper(self)
        self.mapper.setSubmitPolicy(QDataWidgetMapper.ManualSubmit)
        self.mapper.setModel(self.model)
        self.mapper.addMapping(self.nomedit,1)
        self.mapper.addMapping(self.fecha,2)
        self.mapper.toLast()
        self.save.clicked.connect(self.guardar_clicked)
 
 
 
 
    def guardar_clicked (self):
 
        self.variante=self.nomedit.text()
 
        row = self.model.rowCount()
        self.mapper.submit()
        self.model.insertRow(row)
        self.mapper.setCurrentIndex(row)
 
        QMessageBox.information(self, "Hello", "nombre "+self.variante+" guardo correctamente")
 
 
 
app= QApplication (sys.argv)
form = Crea_usu()
form.show()
app.exec_()



si alguien me puede hechar una mano y allar una forma que el combobox se actialize cuando agregamos un nuevo dato a la tabla tipo_material sin tener que cerrar y abrir el dialogo de Nuevo material

los respectivos Ui estan mas abajo por espacio no los pude colocar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

actualizar un combobox

Publicado por hito (6 intervenciones) el 22/11/2014 01:49:53
aqui esta el codigo del ui de crear material

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'crearMaterial.ui'
#
# Created: Fri Nov 21 18:31:28 2014
#      by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
 
from PyQt4 import QtCore, QtGui
 
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s
 
try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)
 
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(310, 187)
        Dialog.setMinimumSize(QtCore.QSize(299, 187))
        Dialog.setMaximumSize(QtCore.QSize(310, 187))
        Dialog.setSizeGripEnabled(False)
        self.codedit = QtGui.QLineEdit(Dialog)
        self.codedit.setGeometry(QtCore.QRect(129, 30, 131, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.codedit.setFont(font)
        self.codedit.setObjectName(_fromUtf8("codedit"))
        self.newtipbtn = QtGui.QPushButton(Dialog)
        self.newtipbtn.setGeometry(QtCore.QRect(240, 90, 51, 27))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.newtipbtn.setFont(font)
        self.newtipbtn.setText(_fromUtf8(""))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("../../../qt/iconos/iconos para el programa/48x48/applications-drawing.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.newtipbtn.setIcon(icon)
        self.newtipbtn.setAutoDefault(False)
        self.newtipbtn.setObjectName(_fromUtf8("newtipbtn"))
        self.matedit = QtGui.QLineEdit(Dialog)
        self.matedit.setGeometry(QtCore.QRect(99, 60, 161, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.matedit.setFont(font)
        self.matedit.setObjectName(_fromUtf8("matedit"))
        self.layoutWidget = QtGui.QWidget(Dialog)
        self.layoutWidget.setGeometry(QtCore.QRect(10, 150, 294, 34))
        self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
        self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout.setMargin(0)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.close = QtGui.QPushButton(self.layoutWidget)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.close.setFont(font)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8("../../../qt/iconos/iconos para el programa/48x48/emblem-symbolic-link.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.close.setIcon(icon1)
        self.close.setAutoDefault(False)
        self.close.setObjectName(_fromUtf8("close"))
        self.horizontalLayout.addWidget(self.close)
        self.clear = QtGui.QPushButton(self.layoutWidget)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.clear.setFont(font)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8("../../../qt/iconos/iconos para el programa/48x48/bleachbit.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.clear.setIcon(icon2)
        self.clear.setAutoDefault(False)
        self.clear.setObjectName(_fromUtf8("clear"))
        self.horizontalLayout.addWidget(self.clear)
        self.save = QtGui.QPushButton(self.layoutWidget)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.save.setFont(font)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(_fromUtf8("../../../qt/iconos/iconos para el programa/48x48/3floppy_unmount.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.save.setIcon(icon3)
        self.save.setAutoDefault(False)
        self.save.setObjectName(_fromUtf8("save"))
        self.horizontalLayout.addWidget(self.save)
        self.tipbox = QtGui.QComboBox(Dialog)
        self.tipbox.setGeometry(QtCore.QRect(100, 90, 138, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.tipbox.setFont(font)
        self.tipbox.setObjectName(_fromUtf8("tipbox"))
        self.tiplab = QtGui.QLabel(Dialog)
        self.tiplab.setGeometry(QtCore.QRect(30, 90, 70, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.tiplab.setFont(font)
        self.tiplab.setObjectName(_fromUtf8("tiplab"))
        self.matlab = QtGui.QLabel(Dialog)
        self.matlab.setGeometry(QtCore.QRect(30, 60, 70, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.matlab.setFont(font)
        self.matlab.setObjectName(_fromUtf8("matlab"))
        self.label = QtGui.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(30, 0, 231, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName(_fromUtf8("label"))
        self.codlab = QtGui.QLabel(Dialog)
        self.codlab.setGeometry(QtCore.QRect(30, 30, 91, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.codlab.setFont(font)
        self.codlab.setObjectName(_fromUtf8("codlab"))
        self.fecha = QtGui.QDateTimeEdit(Dialog)
        self.fecha.setGeometry(QtCore.QRect(160, 120, 111, 25))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.fecha.setFont(font)
        self.fecha.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
        self.fecha.setObjectName(_fromUtf8("fecha"))
        self.label_2 = QtGui.QLabel(Dialog)
        self.label_2.setGeometry(QtCore.QRect(30, 120, 131, 21))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.label_2.setFont(font)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.f5 = QtGui.QPushButton(Dialog)
        self.f5.setGeometry(QtCore.QRect(270, 30, 31, 31))
        self.f5.setObjectName(_fromUtf8("f5"))
 
        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.close, QtCore.SIGNAL(_fromUtf8("clicked()")), Dialog.reject)
        QtCore.QObject.connect(self.clear, QtCore.SIGNAL(_fromUtf8("clicked()")), self.codedit.clear)
        QtCore.QObject.connect(self.clear, QtCore.SIGNAL(_fromUtf8("clicked()")), self.matedit.clear)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        Dialog.setTabOrder(self.codedit, self.matedit)
        Dialog.setTabOrder(self.matedit, self.tipbox)
        Dialog.setTabOrder(self.tipbox, self.close)
        Dialog.setTabOrder(self.close, self.clear)
        Dialog.setTabOrder(self.clear, self.save)
        Dialog.setTabOrder(self.save, self.newtipbtn)
 
    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(_translate("Dialog", "Material", None))
        self.close.setText(_translate("Dialog", "Salir", None))
        self.clear.setText(_translate("Dialog", "Limpiar", None))
        self.save.setText(_translate("Dialog", "Guadar", None))
        self.tiplab.setText(_translate("Dialog", "Tipo:", None))
        self.matlab.setText(_translate("Dialog", "Material:", None))
        self.label.setText(_translate("Dialog", "Agregar Nuevo Material", None))
        self.codlab.setText(_translate("Dialog", "Cod Material:", None))
        self.label_2.setText(_translate("Dialog", "Fecha  de Ingreso:", None))
        self.f5.setText(_translate("Dialog", "f5", None))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

actualizar un combobox

Publicado por hito (6 intervenciones) el 22/11/2014 02:25:00
este es el ui que falta tipo de material

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'nuevotipo.ui'
#
# Created: Thu Nov 20 22:52:33 2014
#      by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
 
from PyQt4 import QtCore, QtGui
 
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s
 
try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)
 
class Ui_newtipo(object):
    def setupUi(self, newtipo):
        newtipo.setObjectName(_fromUtf8("newtipo"))
        newtipo.resize(281, 128)
        newtipo.setMinimumSize(QtCore.QSize(281, 128))
        newtipo.setMaximumSize(QtCore.QSize(281, 128))
        self.nomedit = QtGui.QLineEdit(newtipo)
        self.nomedit.setGeometry(QtCore.QRect(80, 40, 200, 28))
        self.nomedit.setObjectName(_fromUtf8("nomedit"))
        self.close = QtGui.QPushButton(newtipo)
        self.close.setGeometry(QtCore.QRect(50, 100, 85, 27))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.close.setFont(font)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("../../../qt/iconos/iconos para el programa/48x48/gnome-session.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.close.setIcon(icon)
        self.close.setIconSize(QtCore.QSize(20, 20))
        self.close.setAutoDefault(False)
        self.close.setObjectName(_fromUtf8("close"))
        self.label = QtGui.QLabel(newtipo)
        self.label.setGeometry(QtCore.QRect(80, 0, 120, 28))
        self.label.setMinimumSize(QtCore.QSize(120, 28))
        self.label.setMaximumSize(QtCore.QSize(120, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setTextFormat(QtCore.Qt.PlainText)
        self.label.setObjectName(_fromUtf8("label"))
        self.save = QtGui.QPushButton(newtipo)
        self.save.setGeometry(QtCore.QRect(150, 100, 112, 27))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.save.setFont(font)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8("../../../qt/iconos/iconos para el programa/64x64/application-system.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.save.setIcon(icon1)
        self.save.setIconSize(QtCore.QSize(20, 20))
        self.save.setAutoDefault(False)
        self.save.setObjectName(_fromUtf8("save"))
        self.nomlab = QtGui.QLabel(newtipo)
        self.nomlab.setGeometry(QtCore.QRect(10, 40, 71, 28))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.nomlab.setFont(font)
        self.nomlab.setObjectName(_fromUtf8("nomlab"))
        self.fecha = QtGui.QDateTimeEdit(newtipo)
        self.fecha.setGeometry(QtCore.QRect(140, 70, 111, 25))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.fecha.setFont(font)
        self.fecha.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)
        self.fecha.setObjectName(_fromUtf8("fecha"))
        self.label_2 = QtGui.QLabel(newtipo)
        self.label_2.setGeometry(QtCore.QRect(10, 70, 131, 21))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("DejaVu Serif"))
        font.setBold(True)
        font.setWeight(75)
        self.label_2.setFont(font)
        self.label_2.setObjectName(_fromUtf8("label_2"))
 
        self.retranslateUi(newtipo)
        QtCore.QObject.connect(self.close, QtCore.SIGNAL(_fromUtf8("clicked()")), newtipo.reject)
        QtCore.QMetaObject.connectSlotsByName(newtipo)
        newtipo.setTabOrder(self.nomedit, self.save)
        newtipo.setTabOrder(self.save, self.close)
 
    def retranslateUi(self, newtipo):
        newtipo.setWindowTitle(_translate("newtipo", " Nuevo Tipo", None))
        self.close.setText(_translate("newtipo", "Salir", None))
        self.label.setText(_translate("newtipo", "Nuevo Tipo", None))
        self.save.setText(_translate("newtipo", "Guardar", None))
        self.nomlab.setText(_translate("newtipo", "Nombre:", None))
        self.label_2.setText(_translate("newtipo", "Fecha  de Ingreso:", None))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

actualizar un combobox

Publicado por hito (6 intervenciones) el 22/11/2014 04:56:03
bueno muchachos di con la solucion luego de leer mucho en internet resulta que tenia que actualizar el modelo relacional algo referente al un bug de qt

el boton de actualizar que habia hecho lo use con esta simple linea

1
self.model.relationModel(1).select()

nada que ver con lo que habia tratado de hacer.... si alguien tiene el mismo problema por aqui se puede solucionar aunque estoy seguro que quede haber otra forma de hacer lo mismo

si alguien sabe otro metodo pongalo por aqui
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar