2017-04-24 80 views
0

我在一個窗口中創建多個標籤,我想在類中使用一種方法來創建它們,並在我調用它時將名稱,文本等傳遞給該函數。在測試中,我沒有找到一種使用變量的方法,我將該函數作爲小部件的名稱。是否有可能做到這一點,或者我需要多種方法?如果爲widget名稱傳遞名稱是不可能的,還有另一種使用一種方法創建多個widget的方法嗎?是否可以使用一種方法創建多個小部件?

class framemkr(object): 

    def __init__(self, name): 
     self.name = name 

    def lblmkr(self, name, words, frame): 
     self.name= Label(frame, text=words) 
     self.name.grid() 

回答

1

我假設你正在使用tkinter。

您不能使用「name」按照您的建議命名標籤製造商中的變量,但如果您以後不想與標籤進行交互,則不需要使用「name」。否則

class framemkr(object): 
    def __init__(self, name): 
     self.name = name 

    def add_label(self, text, row, column, frame): 
     """ Adds a label to the GUI when called. 
     """ 
     Label(frame, text=text).grid(row=row, column=column) 

,如果你想與標籤進行交互,並保存變量,你可以將它保存在一個字典::你可能只是不喜歡這樣

class framemkr(object): 
    def __init__(self, name): 
     self.name = name 
     self.labels = {} 

    def add_label(self, name, text, row, column, frame): 
     """ Adds a label to the GUI when called. 
     """ 
     label = Label(frame, text=text) 
     label.grid(row=row, column=column) 
     self.labels[name] = label 

你可以這樣訪問標籤從字典中稍後變量。

+0

我需要稍後訪問它們,所以我必須命名小部件。我以前做過字典的事情,但我正在尋找其他選擇。如果這是唯一的方法,那麼很好,去那條路線。謝謝 – sidnical

+0

和是它的tkinter – sidnical

相關問題