2014-02-15 42 views
0

即時通訊使用python開發Tkinter模塊的應用程序,但我有一個問題,我無法解決。刪除以前的標籤tk python

應用程序獲取用戶信息,然後將這種PVC門,並將其放置在屏幕上(例如姓名,年齡,部門)

***** 
Name  Age  Department 
joni  21  system 
Noam  37  electronics 

***** 

如果用戶inseted一些原糖,我要他能夠刪除他想要的每一行,並刪除刪除行下的行以上一行(所以我不會有刪除行中的「洞」)

事情是,在創建幾個在tk Labes,你不知道用戶刪除了什麼標籤。 有沒有辦法從標籤中獲取信息?

感謝

+0

你是什麼意思「你不知道用戶刪除了什麼標籤」?你正在編寫讓他們刪除它的代碼,你爲什麼不知道? –

回答

1

一種方法可以做到這一點是在一個類中存儲的信息,例如:

class foo: 
    def __init__(self, name, age, department): 
     self.name = name 
     self.age = age 
     self.department = department 

然後在你的主程序中,你可以使這個類實例的實例列表

import foo 
refFoo = [] 

#get user input and store in variables name, age, dept 

refFoo.append(foo.foo(name, age, dept)) 

然後把它複製到你的工作列表

Foo = list(refFoo) 

然後你可以從Foo中刪除項目,保持refFoo中的所有項目不變。

要顯示調用類似

def displayItems(Foo): 
    numOfItems = len(Foo) 

    print("Name\tAge\tDepartment") 

    for i in numOfItems: 
     print(Foo[i].name, '\t', Foo[i].age, '\t', Foo[i].department) 

    after(1000, displayItems(Foo) #displays up to date list 

的()將重新調用該函數每秒(1000毫秒),所以你不需要擔心的空白之後。

我沒有測試過這段代碼,但它應該可以工作。

這就是我要做的方式