私はPython 2.7 with Tkinterを使用しています(Tkinterの新しい:) :) 私は1つのチェックボックスをクリックすると、 のリストを持つUIを持っています。すべてのチェックボックスがチェックされています。 下のコードでは、2行(#で1回)を表示します。 #チェックボックスをオンにすると、1つしかチェックされません。 #をクリックすると、すべてがチェックされています 問題は私が欲しいです噛み付いているかどうかをチェックする各チェックボックスのステータスを知るためには、ステータスを取得するためにvar = Intvarを定義する必要があります 提案はありますか?事前 で おかげで以下はCheckbutton
が彼らのvariable
属性に同じ変数をウィジェットあなたのすべてを与えてくれたので、python 2.7を使用するtkinter -allチェックボックスをオンにするとチェックされます
def suites_checkbox_create(self):
ExcelWorkBook1 = open_workbook(config.UI_Suites_Location + 'STD_SUITES.xlsx', on_demand=True)
First_Sheet1 = ExcelWorkBook1.sheet_by_index(0)
plushight = 110
suitesList=[]
self.CheckboxList=[]
for name in (First_Sheet1._cell_values):
if name[3] == "General Name":
continue
else:
suitesList.append(name[3])
for index, name in enumerate(suitesList):
self.var=IntVar
#self.CheckboxList.append(Checkbutton(self.app, text=name)) # using this, i can check once checkbox a time
self.CheckboxList.append(Checkbutton(self.app, text=name, variable=self.var)) # with this, once i check once checkbox, all checkboxes(20) are bing checked
self.CheckboxList[index].place(y=plushight)
plushight += 20
あなたは 'IntVar用ブラケットを忘れてしまいましたまた、各チェックボタンの状態を取得したい場合は、チェックボタンのようにIntVarsをリストに入れる必要があります。 –