だから私は別のクラスのエントリから値を取得しようとしていますが、それを機能させることができません、私はコードをできるだけ短くしようとしたので、皆さんが私を助けてくれることを願っています
import tkinter as tk
import time
import threading
class lingo(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
m = tk.Frame(self)
m.grid(row=0, column=0,sticky="nsew")
e1 = tk.Entry(m)
e1.grid(row=0, column=0)
def enter():
entry1 = e1.get()
t1 = threading.Thread(target=check)
t1.start()
b1 = tk.Button(m, bg="blue", text="enter", command=enter)
b1.grid(row=0, column=1)
class check():
def __init__(self):
lingo1 = lingo()
entry2 = lingo1.enter()
entry3 = entry2.entry1()
print(entry3)
t0 = threading.Thread(target=lingo)
t0.start()
app = lingo()
app.wm_geometry("1810x1080")
app.resizable(False, False)
app.title("19 LetterWoordenLingo")
app.mainloop()
コードを少し整理する必要があると思います。実際の例を次に示します。
import tkinter as tk
import time
import threading
class Lingo(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.m = tk.Frame(self)
self.m.grid(row=0, column=0,sticky="nsew")
self.e1 = tk.Entry(self.m)
self.e1.grid(row=0, column=0)
b1 = tk.Button(self.m, bg="blue", text="enter", command= lambda :self.enter())
b1.grid(row=0, column=1)
def enter(self):
object_check = Check(parent=self)
t1 = threading.Thread(target=object_check.get_entry)
t1.start()
class Check():
def __init__(self, parent):
self.parent = parent
def get_entry(self):
entry_text = self.parent.e1.get()
print(entry_text)
if __name__ == '__main__':
t0 = threading.Thread(target=Lingo)
t0.start()
app = Lingo()
app.wm_geometry("1810x1080")
app.resizable(False, False)
app.title("19 LetterWoordenLingo")
app.mainloop()
したがって、ウィジェットを初期化する必要があります。次に、ボタンを押すと、クラスCheckのオブジェクトを作成できます。このオブジェクトは、新しいスレッドを介してそのクラスで定義された関数にアクセスするために使用されます。
お役に立てば幸いです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加