Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向表小部件添加信息时出现问题_Python_Sqlite_Pyqt - Fatal编程技术网

Python 向表小部件添加信息时出现问题

Python 向表小部件添加信息时出现问题,python,sqlite,pyqt,Python,Sqlite,Pyqt,我正试图将SQLite表上的信息添加到表小部件中 这就是我的SQL表: 我的表格小部件: 方法代码: 如果self.ui.btn\u jugadores.clicked.connect(lambda:self.ui.pila\u de\u paginas.setCurrentWidget(self.ui.pg\u jugadores)):self.mostrar\u jugadores() 这就是结果: 当我执行它的时候 我不知道为什么数字没有出现在表格小部件中。您的第一段代码没有任何意义。

我正试图将SQLite表上的信息添加到表小部件中

这就是我的SQL表:

我的表格小部件:

方法代码:

如果self.ui.btn\u jugadores.clicked.connect(lambda:self.ui.pila\u de\u paginas.setCurrentWidget(self.ui.pg\u jugadores)):self.mostrar\u jugadores()

这就是结果:
当我执行它的时候


我不知道为什么数字没有出现在表格小部件中。

您的第一段代码没有任何意义。为什么要对信号连接执行
if
语句?因为我想做的是,如果我按下该页面的按钮,我想更新该表。你明白我的意思吗?这正是重点:执行
if信号.connect(…):
是毫无意义的,因为它总是在if语句中执行块:你在那里做的是检查函数的返回值(
connect
)。在这种情况下,如果为True,则与
相同:…
。如果您想在单击时调用
mostrar\u jugadores
,那么只需创建另一个连接:
self.ui.btn\u jugadores.clicked.connect(self.mostrar\u jugadores)
。但我们所讨论的问题是,这些数字没有出现在表中。如果问题出在If中,表将是空的。你不明白。我不是指你的实际问题,我是说,
如果
块是完全不必要的(而且概念上是错误的):你没有将鼠标点击连接到
mostrar\u jugadores
,而且在你的代码部分甚至没有调用该函数,对于if语句,as信号连接不会返回被认为是正的值。也就是说,如果您的值在数据库中存储为整数,则不能像那样使用构造函数;您可以使用
QTableWidgetItem(str(apartado))
或使用
celda.setData(Qt.DisplayRole,apartado)将值添加为DisplayRole
def mostrar_jugadores(self):
    try:

        cursor = conectarse_bbdd_jugadores() 
        consulta = ''' SELECT * FROM jugadores''' 
        ejecucion = cursor.execute(consulta).fetchall() 

       
        if len(ejecucion) > 0:
            
            fila = 0

            for e in ejecucion:
                columna = 0
                for apartado in e:
                    celda = QTableWidgetItem(apartado)
                    self.ui.tabla_jgds.setItem(fila, columna, celda)
                    columna += 1
                    print(apartado)

                fila += 1

        else:
            QMessageBox.setText('No hay registros en la tabla de jugadores')
            QMessageBox.setIcon(QMessageBox.warning)
            QMessageBox.exec_()



    except Error as error:
        QMessageBox.setText('No se ha podido ejecutar la sentencia')
        QMessageBox.setIcon(QMessageBox.warning)
        QMessageBox.exec_()