Quantcast
Channel: Preguntas activas con las etiquetas pyqt - Stack Overflow en español
Viewing all articles
Browse latest Browse all 79

Obtener el valor de una celda al hacer clic según la columna 0 de un QTableWidget

$
0
0

Se busca que al hacer clic en una fila, se obtenga el valor que se encuentra en el row según la columna 0, por ejemplo, que cada vez que se haga clic en una fila (por ejemplo, la fila 1) se obtenga el valor correspondiente al row 1 de la columna 0, y así sucesivamente; el objeto LISTACLIENTES (Que es un QTableWidget) se llena a partir de una tabla Clientes de una base de datos SQLITE.

Estas son las propiedades de la LISTACLIENTES:

self.LISTACLIENTES = QtWidgets.QTableWidget(self.CUADROBAJAEMPLEADOS_3)    self.LISTACLIENTES.setGeometry(QtCore.QRect(10, 0, 1041, 301))    self.LISTACLIENTES.setStyleSheet("background-color: rgb(255, 255, 255);")    self.LISTACLIENTES.setShowGrid(True)    self.LISTACLIENTES.setGridStyle(QtCore.Qt.SolidLine)    self.LISTACLIENTES.setObjectName("LISTACLIENTES")    self.LISTACLIENTES.setColumnCount(12)    self.LISTACLIENTES.setRowCount(0)    self.LISTACLIENTES.horizontalHeader().setSortIndicatorShown(False)    self.LISTACLIENTES.horizontalHeader().setStretchLastSection(True)    self.LISTACLIENTES.verticalHeader().setCascadingSectionResizes(False)    header = ["Id.","Nombre","Direccion","CP","Telefono","Correo", "Mascota","Tipo de Mascota","Raza","Peso (en Kg)","Servicio 1","Servicio 2"]    self.LISTACLIENTES.setHorizontalHeaderLabels(header)    self.LISTACLIENTES.setSelectionBehavior(QtWidgets.QTableView.SelectRows

y este es el código que se tiene actualmente, mismo que llena el objeto LISTACLIENTES a partir de la tabla Clientes:

self.LISTACLIENTES.setRowCount(0)    CargarDatos = "SELECT * FROM Clientes"    DatosClientes = conn.execute(CargarDatos)    for row_number, row_data in enumerate (DatosClientes):        self.LISTACLIENTES.insertRow(row_number)        for column_number, data in enumerate (row_data):            self.LISTACLIENTES.setItem(row_number, column_number,QtWidgets.QTableWidgetItem(str(data)))    ids = str(self.LISTACLIENTES.item(row_number,0).text())    self.BAJAIDCLIENTEDATOS.setPlainText(ids)

Con el código que se tiene actualmente, solo se obtiene el valor de la última fila con la columna 0, mismo que se inserta en un QPlainText de solo lectura.Lo que se busca es que el valor sea dinámico a partir de hacer clic en el row correspondiente.

Así es como se ve la LISTACLIENTES actualmente:introducir la descripción de la imagen aquí


Viewing all articles
Browse latest Browse all 79

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>