我有一个有多个函数的类,几乎每个函数中我都要填充不同的QTableWidgets。我想创建一个函数,指定一个表名、标题和数据填充该表。
这是有效的(但是是静态的,只适用于一个表“tableParada”):
header = ['Horario teórico', 'Entrada a terminal', 'Salida de terminal', 'Tiempo parcial en terminal']
self.ui.tableParada.setRowCount(cantidadFilas)
self.ui.tableParada.setColumnCount(len(header))
self.ui.tableParada.setHorizontalHeaderLabels(header)
for columnas in range(cantidadFilas):
self.ui.tableParada.setItem(columnas, 0, QTableWidgetItem(str(tiempoTeoricoTerminal[columnas])))
self.ui.tableParada.setItem(columnas, 1, QTableWidgetItem(str(tiempoInicioTerminal[columnas].time())))
self.ui.tableParada.setItem(columnas, 2, QTableWidgetItem(str(tiempoFinTerminal[columnas].time())))
self.ui.tableParada.setItem(columnas, 3, QTableWidgetItem(str(tiempoEnTerminal[columnas])))
这是我想出的(但不起作用):
^{pr2}$问题是当我调用函数时:
headerColumna = ['Horario teórico', 'Entrada a terminal', 'Salida de terminal', 'Tiempo parcial en terminal']
headerFila = []
completarTabla('tableParada', headerFila, headerColumna, tiempo)
我得到:
Traceback (most recent call last):
File "C:/Users/TIC/Dropbox/TransBus - La Estrella/Programación/control-de-tiempo/query.py", line 362, in queryParada
completarTabla('tableParada', headerFila, headerColumna, tiempo)
File "C:/Users/TIC/Dropbox/TransBus - La Estrella/Programación/control-de-tiempo/query.py", line 659, in completarTabla
tabla.setRowCount(len(headerFila))
AttributeError: 'str' object has no attribute 'setRowCount'
我知道我将一个str传递给函数,然后替换不起作用,如果我传递表名(tableParada),它也不起作用。然后:
抱歉,我是Python+PyQt,面向对象编程的新手,这也是我在stackoverflow上的第一篇文章,英语不是我的母语。我真的很想用正确的方式来做。在
提前谢谢!在
尝试传递
self.ui.tableParada
而不是字符串'tableParada'
。您需要传递实际的widget对象。在相关问题 更多 >
编程相关推荐