嘿,我試圖在 tkinter 中制作一個畫布并輸入一個全域變數,但我得到了錯誤(AttributeError: 'int' object has no attribute 'get')
def a():
a1 = e1.get()
b1 = e2.get()
c1 = e3.get()
print(a, b, c)
def window():
window = Tk()
my_canvas = Canvas(window, width=530, height=240, bd=0, highlightthickness=0)
my_canvas.pack(fill="both", expand=True)
global e1, e2, e3
e1 = Entry(window, fg="black", bd=0)
e2 = Entry(window, fg="black", bd=0)
e3 = Entry(window, fg="black", bd=0)
e1 = my_canvas.create_window(40, 20, anchor="nw", window=e1)
e2 = my_canvas.create_window(40, 60, anchor="nw", window=e2)
e3 = my_canvas.create_window(40, 100, anchor="nw", window=e3)
button1 = Button(window, text='Print', bd=0, bg="black", fg="white", command=a)
button1 = my_canvas.create_window(400, 20, anchor="nw", window=button1)
window.mainloop()
p = Process(target=window)
p.start()
p.join()
uj5u.com熱心網友回復:
您所呼叫get的.create_window物件
你不應該跑過Entry物件:
from tkinter import Tk, Canvas, Button, Entry
from multiprocessing import Process
def a():
a = e1.get()
b = e2.get()
c = e3.get()
print(a, b, c)
def window():
window = Tk()
my_canvas = Canvas(window, width=530, height=240, bd=0, highlightthickness=0)
my_canvas.pack(fill="both", expand=True)
global e1, e2, e3
e1 = Entry(window, fg="black", bd=0)
e2 = Entry(window, fg="black", bd=0)
e3 = Entry(window, fg="black", bd=0)
e1_w = my_canvas.create_window(40, 20, anchor="nw", window=e1)
e2_w = my_canvas.create_window(40, 60, anchor="nw", window=e2)
e3_w = my_canvas.create_window(40, 100, anchor="nw", window=e3)
button1 = Button(window, text='Print', bd=0, bg="black", fg="white", command=a)
button1 = my_canvas.create_window(400, 20, anchor="nw", window=button1)
window.mainloop()
p = Process(target=window)
p.start()
p.join()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317710.html
