Использования Python 2.7 и Tkinter в Linux Mint «Mate» 17 средыПереходя постоянные значения в класс
я совершенно новый для объектно-ориентированного программирования и не понимаю, как передать постоянные значения в экземпляр класса; в этом коде генерируются «глобальная не определены» ошибка, когда я использую Pin_ID в строках 20 и 22:
1 #!/usr/bin/env python
2 import Tkinter as tk
3
4 root = tk.Tk()
5
6 class cbClass:
7 def __init__(self, Pin_ID):
8 self.cb_Txt=tk.StringVar()
9 self.cb_Txt.set("Pin " + Pin_ID + " OFF")
10 self.cb_Var = tk.IntVar()
11 cb = tk.Checkbutton(
12 root,
13 textvariable=self.cb_Txt,
14 variable=self.cb_Var,
15 command=self.cbTest)
16 cb.pack()
17
18 def cbTest(self):
19 if self.cb_Var.get():
20 self.cb_Txt.set("Pin " + Pin_ID + " ON")
21 else:
22 self.cb_Txt.set("Pin " + Pin_ID + " OFF")
23
24 c1 = cbClass("8")
25 c2 = cbClass("E")
26 root.mainloop()
Я думаю, это из-за Pin_ID, вы должны Pin_ID в качестве параметра в '_init_' функции, но не в' cbTest' – bayblade567