我有一些tablewidgets,我想在其中插入一些数据。为此,我使用以下内容:
for index,i in enumerate(list1):
item = QtGui.QTableWidgetItem()
item.setText(QtGui.QApplication.translate("Dialog", str(i), None, QtGui.QApplication.UnicodeUTF8))
item.setTextAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter|QtCore.Qt.AlignCenter)
self.tableWidget_1.setItem(0, index, item)
此时我会为每个tablewidget执行此操作。我想也许我可以编写一个简单的函数,如下所示:
def function_1(list1,number_of_tablewidget):
for index,i in enumerate(list1):
item = QtGui.QTableWidgetItem()
item.setText(QtGui.QApplication.translate("Dialog", str(i), None, QtGui.QApplication.UnicodeUTF8))
item.setTextAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter|QtCore.Qt.AlignCenter)
self.tableWidget_number_of_tablewidget.setItem(0, index, item)
我关心的是number_of_tablewidget。变量将是一个数字,那么我将如何将它与最后一行匹配?感谢。
答案 0 :(得分:1)
只需将QTableWidget
对象发送到您的函数并按原样使用:
def function_1(item_list,tablewidget):
for index, i in enumerate(item_list):
#...
tablewidget.setItem(0, index, item)
答案 1 :(得分:0)
您可以使用getattr()动态评估属性名称:
def function_1(list1,number_of_tablewidget):
for index,i in enumerate(list1):
item = QtGui.QTableWidgetItem()
item.setText(QtGui.QApplication.translate("Dialog", str(i), None, QtGui.QApplication.UnicodeUTF8))
item.setTextAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter|QtCore.Qt.AlignCenter)
getattr(self, "tableWidget_%d" % number_of_tablewidget).setItem(0, index, item)