[Çözüldü] Tkinter Label

Başlatan fghty, 06 Mart 2013 - 20:10:17

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

fghty

#!/usr/bin/env python
#-*-coding:utf-8-*-

from Tkinter import *
import time

pencere = Tk()
sayac=0

def draw(sayac):
    etiket = Label(text = sayac)
    etiket.pack()
    sayac=sayac+1
    etiket.after(1000, lambda:draw(sayac))

draw(sayac)
mainloop()


Bu kodda 1,2,3.. şekilnde pencere alta doğru büyüyor. Pencere büyümeden saymasını nasıl sağlayabilirim? Bu konuda bilgisi olan var mı?

hitokiri

Kod her seferinde tekrarlandığından sürekli yeni "etiket" eklediği için öyle görünüyor , onun yerine sadece etiket metnini değiştirmek yeterli bunu düzeltmek için;

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim: ts=4:sw=4


from Tkinter import *
import time

pencere = Tk()
global sayac
sayac=0
class say():
    def __init__(self):
        self.etiket = Label(text = sayac)
        self.etiket.pack()
       
    def draw(self,sayac):
        sayac+=1
        self.etiket.after(1000, lambda:self.draw(sayac))
        self.etiket.config(text=sayac)
sy = say()
sy.draw(sayac)
mainloop()

fghty

Bilgi için çok sağol. :)