我使用Tkinter構建了一個應用程序,該應用程序根據在文本框中輸入的團隊來向標籤顯示統計信息。該應用程序可以工作,但我的代碼長度爲600行,其中大部分是初始化標籤。大多數標籤共享相同的格式(創建一個標籤變量,創建一個標籤,用網格定位標籤),所以我認爲應該有一種方法可以創建一個構造函數類,它會返回一個新變量參數。不幸的是,我迄今爲止不成功,主要是因爲我沒有OOP設計經驗。什麼是最好的方式去做這件事?以下是代碼,我想這兩個主要部分來代替:在Python中爲Tkinter標籤創建類
self.team2RecordlabelVariable = Tkinter.StringVar()
team2Recordlabel = Tkinter.Label(self,textvariable=self.team2RecordlabelVariable,anchor='e', fg='white', bg="black")
team2Recordlabel.grid(column = rColLStart, row = 1, columnspan = colRSpan, padx=(2,10), pady=(1,20), sticky = 'E')
和
team2RL = Tkinter.Label(self,text="Record: ",anchor='e', fg='white', bg="black")
team2RL.grid(column = rColStart, row = 1, columnspan = colLSpan, padx=(2,0), pady=(1,20), sticky = 'W')
爲什麼你爲每個標籤使用'StringVar'? –
你能提供更多的上下文代碼嗎? –
下面是每個標籤下面的代碼跡: '#設置textbox' '...'' #SET了進入button' '...'' 高達#Sets label' '自我.team1RecordlabelVariable = Tkinter.StringVar()' 'team1Recordlabel = Tkinter.Label(self,textvariable = self.team1RecordlabelVariable,anchor ='e',fg ='white',bg =「black」)' 'team1Recordlabel.grid column = lColRStart,row = 1,columnspan = colRSpan,padx =(2,10),pady =(1,20),sticky ='E')' ... #文本輸入框和按鈕按下,更新標籤 self.team1RecordlabelVariable.set(抓取TeamRecord(htmlTeam1)) – Aginor