2016-02-28 52 views
-2
from Graphics import * 

win = Window() 
button = Button ((200,100), "click") 
button.draw(win) 

score=100 

def user_click(score): 
    score+=10 
    print(score) 

button.connect('',user_click) 

我想要這個函數給分數加10分。但我發現了這個錯誤只需一個參數,兩個給定

到底需要一個參數,兩個給定

我將如何修復這個bug做呢?

+3

完整回溯會有所幫助,以及指定正是你正在使用的庫。 – KevinOrr

+0

我假設回調將兩個變量傳遞給您的回調函數'user_click',這兩個變量都不是分數。您可能希望將回調設置爲等於lambda。 'button.connect('',lambda x,y:user_click(score))' – Suever

+0

這不是Tkinter。這可能是PyGTK ...你在用什麼庫? – nbro

回答

0

Gui元素回調通常需要一個名爲'event'的參數,這是您傳遞給user_click的第二個參數。

試試這個:

def user_click(event, score): 
    score+=10 
    print(score) 
+0

我這樣做後,我得到另一個錯誤,說'不支持的操作數類型(+):'Button'和'int'。'你知道我該如何解決這個問題嗎? – Kitten

+0

這聽起來像是傳遞給函數聲明的參數的順序。嘗試:def user_click(分數,事件) – tink3r

相關問題