繁体   English   中英

动态将行添加到GTK列表PyGObject

[英]Dynamically add rows to GTK List PyGObject

我正在尝试将动态检测到的项目添加到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 List视图中。 我正在使用此代码,并且几乎可以正常工作:

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检测到这一点。

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

    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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM