Pencere üzerindeki veriyi güncelleme

Merhaba Tkinter’de bir pencere oluşturdum üzerinde veri oluşturdum veri eklediğimde yeni veriyi görebilmem için programı kapatıp yeniden açmam gerekiyor bu sorun için bir örnek verebilen olur ise eğer iyi olur
Açıkca Refresh mekanizması kurmam gerekiyor

Merhaba.

Şuradaki kod örneği ile belirli aralıklarda ListBox’ınızı güncelleyebilirsiniz. Buradaki önemli nokta self.after metodu. Bu metod ile belirli aralıklar ile bir metodu çalıştırabilirsiniz. Verilen örnekte bu metod 100 ms ara ile içinde bulunduğu metodu çağırmakta. Bu metodun içine ListBox’ınızı veriyle doldurduğunuz kodu yazmalısınız.

İyi çalışmalar.

1 Beğeni

Çok teşekkür ederim.

1 Beğeni

Benim programın class yapıda değil Nasıl uyarlama yapabilirim acaba ve nasıl yapacağım

Merhaba.

İsterseniz verdiğim bağlantıdaki örnekten gidelim. Şu sınıflı olan orijinal hali:

from Tkinter import *
import random

class Network(Frame):  
    """ Implements a stop watch frame widget. """                                                               
    def __init__(self, parent=None, **kw):      
        Frame.__init__(self, parent, kw)
        self.makeWidgets()    

    def makeWidgets(self):                       
        """ Make the time label. """
        self._canvas = Canvas(self, width=600, height=400)
        self._canvas.pack()

    def checkForGroupUpdates(self):
        print "checking"
        h=0
        this=10
        while this>.0001:
            this=random.random()
            print h
            h=h+1
        print "checked"


def main():
    root = Tk()
    nw = Network(root)
    nw.pack(side=TOP)

    root.after_idle(nw.checkForGroupUpdates)
    root.mainloop()


if __name__ == '__main__':
    main()

Bu örneğin prosedürel hali şöyle olabilir:

from Tkinter import *
import random

def makeWidgets(nw):                       
    """ Make the time label. """
    nw._canvas = Canvas(nw, width=600, height=400)
    nw._canvas.pack()

def checkForGroupUpdates(nw):
    print "checking"
    h=0
    this=10
    while this>.0001:
        this=random.random()
        print h
        h=h+1
    print "checked"


def main():
    root = Tk()
    nw = Frame(root)
    makeWidgets(nw)
    nw.pack(side=TOP)

    root.after_idle(checkForGroupUpdates)
    root.mainloop()


if __name__ == '__main__':
    main()

Tabii ben size sınıflı halini şiddetle öneririm. Hem uygulama büyüdükçe kontrolü daha kolay olur, hem de internette bulduğunuz örnekler genelde sınıflı örnekler olabilir. Kendi uygulamanızı yukarıdaki çevrime bakarak kolayca sınıflı hale çevirebilirsiniz.

İyi çalışmalar.

Çok teşekkür ederim deneyeceğim

1 Beğeni