簡體   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