0

我正在尝试将动态检测到的项目添加到 PyGTK 列表视图中。

我正在使用 Python 3 和 PyGObject。

以下是一些示例列表:

['MomAndKids', 'ddwrt', 'Squirt', 'blurb']
['WPA1', 'Open', 'WPA2', 'WEP']
['44/70', '38/70', '66/70', '55/70']

我希望它为每个人排成一行,结果是这样的:

['MomAndKids', 'WPA1', '44/70']
['ddwrt', 'Open', '38/70']
['Squirt', 'WPA2', '66/70']
['blurb', 'WEP', '55/70']

然后将这些行中的每一行添加到 GTK 列表视图中。我正在使用这段代码,它几乎可以工作:

for i in range(len(output)):
    string1 = output[i]
    for i in range(len(output2)):
        string2 = output2[i]
        for i in range(len(output3)):
            string3 = output3[i]
            row = [string1, string2, string3]
            self.APStore.append([string1, string2, string3])

它是这样的:http: //pastebin.com/sXNnKfaf(对不起,外部链接,它使这里的发布时间不长。)

我明白为什么,所以我尝试了这个:

for i in range(len(output)):
    string1 = output[i]
    for i in range(len(output2)):
        string2 = output2[i]
        for i in range(len(output3)):
            string3 = output3[i]
row = [string1, string2, string3]
self.APStore.append([string1, string2, string3])

但它使这个:

['blurb', 'WEP', '55/70']

如果重要的话,我正在使用 grep 检测到这一点。

4

1 回答 1

0

这做到了。我不确定这是否是最有效的方法,但它完全按照我的计划工作。

    i = 0
    for network in output:
        aps["row" + str(i)] = self.APStore.append([network, "", "", ""])
        i = i + 1
    i = 0
    for encrypt in output2:
        self.APStore.set(aps["row" + str(i)], 1, encrypt)
        i = i + 1
    i = 0
    for quality in output3:
        self.APStore.set(aps["row" + str(i)], 2, quality)
        i = i + 1
于 2013-05-26T00:21:32.923 回答