私はこのTkinterクラスを持っていますが、これは完全に動作しますが、この部分はなぜ分かりませんか?ありがとう!私の関数は定義されておらず、定義されています
私はpycharmを使用しています。それが答えに
> Error:
> self.dec = tk.Button(self, height=1, width=6, text="Decimal", command=fromHexDec(self.fromHex.get()))
NameError: global name 'fromHexDec' is not defined
Pythonコードを変更するかどうかわからない:
class Tkk(tk.Tk):
""""initiating the calculator"""
def __init__(self):
tk.Tk.__init__(self)
container = tk.Frame(self)
container.configure(bg="#eee", width=400, height=200)
container.pack(fill="both", expand=1, side="top")
self.label = tk.Label(self, text="Choose from one of bases to convert from below")
self.label.pack()
self.hexEnt = tk.Entry(self)
self.hex = tk.Button(self, height=1, width=9, text="Hexadecimal", command=self.hexa)
self.hexEnt.pack()
self.hex.pack()
def fromHexDec(self, num):
toDecimal(num, 16)
def hexa(self):
""""creating new variables"""
self.fromHex = tk.Entry(self)
self.bin = tk.Button(self, height=1, width=6, text="Binary")
self.oc = tk.Button(self, height=1, width=6, text="Octal")
self.dec = tk.Button(self, height=1, width=6, text="Decimal", command=fromHexDec(self.fromHex.get()))
self.label1 = tk.Label(self, text="You have chosen to convert from Hexa! Pick the base you want to convert to")
""""packing the variables"""
self.fromHex.pack()
self.label1.pack()
self.oc.pack()
self.dec.pack()
self.bin.pack()
"""destroying the current variables"""
self.hex.destroy()
self.hexEnt.destroy()
self.label.destroy()
frame = Tkk()
frame.mainloop()
注:
self.dec = tk.Button(self, height=1, width=6, text="Decimal",
command=fromHexDec(self.fromHex.get()))
へ:はそこまで
'コマンド=ラムダ:self.fromHexDec(self.fromHex.get())'使用の自己とラムダ – abccd
ラムダは何を意味するのでしょうか? – guy
実行時に関数を作成します – abccd