Python:Map with class方法,需要参数

2024-03-29 06:03:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用PyQt5的QTableWidget,特别是PyQt5.QTableWidget.setItem为一组参数调用一个方法。你知道吗

我有一个字符串列表

row = ["a","b","c","d"]

我需要把每个元素都放到表的一列中,除了第一个。我试过的是

items = [ QTableWidgetItem(r) for r in row[1:] ]
arguments = zip([rowNumber+1]*(len(row)-1), range(1,len(row)), items)
putItem = lambda x:tableWidget.setItem(*x)
import itertools
itertools.starmap(putItem, arguments)

我也试过用map和no-zip的参数,但似乎什么都不管用。我知道我可以对参数进行for循环,但我想要“更优雅”的映射解决方案。你知道吗

主要问题是表中没有显示任何信息,尽管没有错误报告、警告或任何内容。你知道吗

谢谢!你知道吗


Tags: 方法字符串列表for参数lenitemszip
2条回答

一个环更优雅,虽然没有简洁,伊莫。你知道吗

当您创建一个生成器(如starmap)时,您必须使用它来执行代码。 例如,将其传递给list()。你知道吗

为了见鬼,这里有一个合理的方法来编写代码:

for column, text in enumerate(row[1:], 1):
    tableWidget.setItem(rowNumber + 1, column, QTableWidgetItem(text))

相关问题 更多 >