Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Duda con un QCheckBox dentro de una tabla en PyQt5
#1
Hola a todos,


Llevo ya muchas horas con esto y no lo consigo. Os pregunto a vosotros:

Estoy haciendo para el proyecto de DAM que por fin termino, un gestor de hábitos. Os paso una captura.
[Imagen: Captura-de-Pantalla-2021-01-31-a-la-s-11-17-53.png]

Necesito poner donde estan los 0 un QCheckBox para poder marcar el hábito como realizado o no. 

Pues no soy capaz, la verdad. ¿Cómo lo tengo que hacer?


Los datos estan volcados de una bbdd en SQLITE que integra el PyQt5


Este es el código que general la tabla.

       
Código:
while query.next():
            estado_diario = query.value(2) # en número indica la posición del campo en la tabla
            tipo = query.value(5)
            importancia = query.value(4)
            nombre = query.value(3)
            # Ahora organizamos los datos en la tabla creada anteriormente
            self.tabla.setRowCount(index + 1)
            self.tabla.setItem(index, 0, QTableWidgetItem(str(estado_diario)))
            self.tabla.setItem(index, 1, QTableWidgetItem(importancia))
            self.tabla.setItem(index, 2, QTableWidgetItem(tipo))
            self.tabla.setItem(index, 3, QTableWidgetItem(nombre))
Responder
#2
Hola, bienvenido.

La clase QTableWidgetItem tiene soporte para un checkbox vía la función setCheckState().

Podrías probar algo así:

Código:
from PyQt5.QtCore import Qt

# ...

item = QTableWidgetItem()
item.setCheckState(Qt.Unchecked)
self.table.setItem(index, 0, item)

Saludos!
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
(01-02-2021, 12:50 AM)Francisco escribió: Hola, bienvenido.

La clase QTableWidgetItem tiene soporte para un checkbox vía la función setCheckState().

Podrías probar algo así:

Código:
from PyQt5.QtCore import Qt

# ...

item = QTableWidgetItem()
item.setCheckState(Qt.Unchecked)
self.table.setItem(index, 0, item)

Saludos!


Perdona, que no te di las gracias.

Saludos,
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)