2014-09-21 4 views
0

У меня получилась эта ошибка, когда я сделал это так, что после отпускания кнопки мыши текст вернется в нормальное состояние. Если я прокомментирую код, чтобы связать это с выпуском мыши, и если я прокомментирую привязку для мыши.Python Tkinter: Слишком много значений?

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__ 
    return self.func(*args) 
    File ".\gui.py", line 53, in button1Release 
    self,button1["text"] = "Hello, World!" 
ValueError: too many values to unpack (expected 2) 

Вот код этого пришли:

#gui.py 

import time 
import tkinter 

class GUI(object): 

    #GUI.create() 
    #loads interface 
    def create (self, parent): 

     #remember the root 
     self.window = parent 

     #simplify tkinter variables 
     left = tkinter.LEFT 
     right = tkinter.RIGHT 

     self.container = tkinter.Frame(parent) 
     self.button1 = tkinter.Button(self.container) 
     #self.button2 = tkinter.Button(self.container) 

     self.button1["text"]= "Hello, World!" 
     self.button1["background"]= "white" 
     self.button1.bind("<Button-1>", self.button1Click) 
     self.button1.bind("<ButtonRelease-1>", self.button1Release) 
     #self.button2["text"]= "Hello, World2!" 
     #self.button2["background"]= "white" 

     self.container.pack() 
     self.button1.pack(side = left) 
     #self.button2.pack(side = left) 

     print("Window created") 

    def run (self, parent): 

     #mainloop 

     parent.mainloop() 

     #on window close 

     print("WIndows closed!") 
     time.sleep(1) 

    def button1Click(self, event): 

     self.button1["text"] = "Click!" 

    def button1Release(self, event): 

     self,button1["text"] = "Hello, World!" 
+0

Какое у вас ожидание и что у вас есть? Пожалуйста, дайте понять, чтобы помочь другим работать над вашей проблемой. – Nabin

+0

О, хорошо. Я получил ответ, и я буду работать над разъяснением в следующий раз. –

ответ

2

Вы написали , запятую, где вы имели в виду использовать . точка:

self,button1["text"] = "Hello, World!" 

Примечание запятая между self и button1 , Это должно быть:

self.button1["text"] = "Hello, World!" 

Python читает первую в виде двух отдельных целей, требуя, чтобы поставить два значения, одно для self и один для button1["text"].

+0

О, это было глупо. Благодарю. –

+0

Там. Ответ принят. –

Смежные вопросы