2013-10-15 3 views
-1

Любые идеи о том, как заставить этот код работать? Я использую окно 7 и питон 3.3.2Нужная вам помощь

from tkinter import * 

class Clock: 
def _init_(self, parent): 
    self.parent = parent 
    self.x = 0 
    self.y = 0 
    self.second = Label(parent) 
    self.minute = Label(parent) 
    self.second.pack() 
    self.minute.pack() 
def advance(self): 
    self.second.config(text = "{0.x} second(s)".format(self)) 
    self.minute.config(text = "{0.z} minute(s) has past".format(self)) 
    self.x += 1 
    if self.x == 60: 
     self.x = 0 
     self.z += 1 
    self.parent.after(1000, self.advance) 


mGui = Tk() 
mGui.geometry("300x200+100+100") 
mGui.title("Jono's Clock") 

clock = Clock(mGui) 

menubar = Menu(mGui) 
filemenu = Menu(menubar, tearoff = 0) 
filemenu.add_command(label="Clock", command = clock.advance) 

menubar.add_cascade(label="File", menu=filemenu) 
mGui.config(menu = menubar) 

mGui.mainloop() 

Ошибки такой же, как я уже говорил в комментарии.

Любая помощь приветствуется, спасибо.

+2

Пожалуйста, объясните проблему, которую вы испытываете. Мы не ясновидцы. – YXD

ответ

1

Здесь не нужна нить. Используйте функцию after, если вы хотите периодически выпустить что-то.

from tkinter import * 

class Clock: 
    def __init__(self, parent): 
     self.parent = parent 
     self.x = 0 
     self.z = 0 
     self.second = Label(parent) 
     self.minute = Label(parent) 
     self.second.pack() 
     self.minute.pack() 
    def advance(self): 
     self.second.config(text='{0.x} second(s)'.format(self)) 
     self.minute.config(text='{0.z} minute(s) past.'.format(self)) 
     self.x += 1 
     if self.x == 60: 
      self.x = 0 
      self.z += 1 
     self.parent.after(1000, self.advance) 
     # This method is called after 1000 ms (1 second) 

mGui = Tk() 
mGui.geometry("300x200+100+100") 
mGui.title("Jono's Clock") 

clock = Clock(mGui) 


menubar = Menu(mGui) 
filemenu = Menu(menubar, tearoff = 0) 
filemenu.add_command(label="Clock", command=clock.advance) 

menubar.add_cascade(label="File", menu=filemenu) 
mGui.config(menu = menubar) 

mGui.mainloop() 
+0

Я пробовал, но я получаю сообщение об ошибке с clock = Clock (mGui) – Minigeek22

+0

@ Minigeek22, Что значит 'gggggggggggggggg'? – falsetru

+0

Извините, клавиатура испорчена «gggggggggggggggg» – Minigeek22

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