私はまだPythonにはかなり慣れていないので、私の質問が些細なことやばかげていたら申し訳ありません. ボタンのコールバック (コードにはありません) に反応する小さなモジュールを構築しようとしています。コールバックは main() 関数でシミュレートされます。私の問題は、グローバル名のエラーを取り除く方法がわからないことです。これは、drink0_ingred がグローバル名として定義されていないことを示しています。これは、self.l0 というラベルのテキストとして必要です。これは私がこれまでに持っているものです:
import tkinter
from tkinter import ttk
def main():
root = tkinter.Tk()
callback = callbackkb0()
drink0 = Drink0(root)
root.mainloop()
def callbackkb0():
with open(file="drink0_ingred.txt") as ingred0:
drink0_ingred = ingred0.read()
print(drink0_ingred)
return drink0_ingred
class Drink0(ttk.Frame):
def __init__(self, root):
ttk.Frame.__init__(self, root)
self.grid()
self.widgets_create()
def widgets_create(self):
self.l0 = ttk.Label(self, text=drink0_ingred)
self.l0.grid()
main()
drink0_ingred をグローバル名として定義し、他の関数からアクセスできるようにするにはどうすればよいですか? 私を助けてくれてありがとう!