0
私はPythonでプログラミング言語を作っています。
これは、これまで私が持っているコードです:Tkinterが非常に奇妙です
import tkinter as tk
import tkinter.messagebox as m
import sys
class IOscriptError(Exception):
pass
class Std:
def __init__(self):
self.root = tk.Tk()
self.root.title("STDOUT")
self.stdouttext = [""]
self.outstd = tk.Label(self.root, text=self.stdouttext)
self.outstd.pack()
def out(self, value):
self.stdouttext.append(value + "\n")
self.outstd.config(text=''.join(self.stdouttext))
def start(self):
self.root.mainloop()
std = Std()
class Gui:
def __init__(self):
pass
def newButton(self, val, command="m.showinfo('title', 'message')"):
self.b=tk.Button(std.root, text=val, command=command).pack()
gui = Gui()
std.out("Hello!")
std.out("How are you?")
gui.newButton("Hello!")
std.start()
問題がボタンgui.b
のコマンドが実行されていないということです。
私はまた、lambdaの使用を試みました。
これは機能しません!
なぜこれが起こっているのか、それを修正する方法を教えてください。
ありがとうございます!
ああ、ok ...ああ... IM DUMB! :P私はラムダではなく文字列を使用しました! – o0000000000000000000000000000o