我基本上是爲一個基本的pygame繪圖應用程序編寫一個模塊。即時通訊使用Tk窗口來獲取自定義顏色的三個顏色值。我有一個開放的開始感到困惑,做,但我不能圖如何把一切工作以及三個色值和IM傳統知識的窗口和askes類和函數的故障
這裏是我的Tk的窗口代碼的文件:
from Tkinter import *
class Custom():
def get_color(self):
root = Tk()
root.configure(background='black')
root.wm_title("Custom")
label1 = Label(root, text='Red Value:',bg="black", fg="white")
label1.grid(row=2, column=0,columnspan=2)
enter1 = Entry(root, bg='white')
enter1.grid(row=3, column=0,columnspan=2)
label2 = Label(root, text='Green Value:',bg="black", fg="white")
label2.grid(row=4, column=0,columnspan=2)
enter2 = Entry(root, bg='white')
enter2.grid(row=5, column=0, columnspan=2)
label3 = Label(root, text='Blue Value:',bg="black", fg="white")
label3.grid(row=6, column=0,columnspan=2)
enter3 = Entry(root, bg='white')
enter3.grid(row=7, column=0, columnspan=2)
btn1 = Button(root, text='OK', command= self.return_color, bg="black",activebackground="green", fg="white")
btn1.grid(row=14, column=0, columnspan=2)
label7 = Label(root, bg="black", fg = "white")
label7.grid(row=15, column=0, columnspan=2)
enter1.focus()
root.mainloop()
def return_color(self):
try:
r = str(self.enter1.get())
g = str(self.enter2.get())
b = str(self.enter3.get())
except ValueError:
window.label7.config(text='Enter Numbers!', fg = "red")
root.destroy()
return (r,g,b)
c = Custom()
c.get_color()
它的工作原理,但我試圖能夠導入它,所以我做了兩個功能,並把它們放在一個類,但現在我很困惑,我需要運行get_color
然後當我點擊確定按鈕,我需要運行return_color
我不dont知道如果這是做到這一點的方式我只是在嘗試各種不同的事情它說return_color
不能得到self.enter1.get()
相同的輸入2和3
這裏就是IM給我拉延襯墊程序:
if key[pygame.K_c]:
import CustomColor
c = CustomColor.Custom()
c.get_color()
self.color = c.return_color()
IM開始變得真的很困惑,如果有人可以清除所有這一切了,我會這麼感謝FUL!
我的問題是它告訴我,Custom實例沒有屬性'enter1',即使它在類 – Serial
@ChristianCareaga那是因爲你忘了將它們設置爲類的屬性:使用'self.enter1 = .. .'代替'get_color'中的'enter1 = ...'。 –
好吧,我們走了我知道了,所以我應該保持按鍵事件部分一樣嗎? – Serial