[Çözüldü] Tkinter Label Kaldırıp Yerine Yenisini Koyma

Başlatan berkayaslan, 11 Şubat 2014 - 17:23:46

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

berkayaslan

Diyelim ki Bir pencerem var ve ben bu pencereye, oluşturduğum bir değiştin düğmesi sayesinde, yazılar göstermek istiyorum. Yazılarım

a = Ubuntu İyidir..
b = Ubuntu Güzeldir
c = Ubuntu Şöylerdir
d = Ubuntu böyledir

Olsun.

Şimdi Tkinter kullanarak bir pencere açacağım ve her açılışta önce ekranda Ubuntu Her şeydir. Yazısının gelmesini sağlayacağım. Sonra Değiştir düğmesine bastığımda bu ilk yazının kaldırılıp yerine yukarıdaki yazılardan birini koymak istiyorum. Sonra tekrar değiştir butonuna tıkadığımda bu yazıyı kaldırıp yeni bir yazı (a, b, c, d içinden) eklemek istiyorum..


a = Ubuntu İyidir..
b = Ubuntu Güzeldir
c = Ubuntu Şöylerdir
d = Ubuntu böyledir

Liste = [a, b, c, d]


def Değiştir():
    İlkLabel.destroy()
    Yazı = Label(YanPen, text=choice(Liste))
    Yazı.pack()
    while True:
        Yazı.destroy()
        Yazı = Label(YanPen, text=choice(Liste))
        Yazı.pack()
        break

Pencere = Tk()
İlkLabel = Label(text="Ubuntu Her şeydir!!"
İlkLabel.pack()
Buton = Button(text="Değiştir", command=Değiştir)
Buton.pack()

mainloop()



Çok basitte olsa bu şekilde. Ancak bunu yaptığımda ya da kendi yaptığım fonksyonla ne kadar uğraştıysam yapamadım. Ya yazılar silinmiyor alt alta geliyor. Ya da hiçbir yazı gelmiyor.. Ben bu istediğimi nasıl sağlayabilirim?? Yani o anki yazı silinsin yerine rastgele seçtiği listedeki bir yazı gelsin diyorum.
İf you wanna be the best, You must SMURF something. :)

guopx

Yenisini getirmek için ilk etiketi öldürmenize gerek yok. Güncelleyebilirsiniz.
#!/usr/bin/env python
#-*-coding:utf-8-*-
from random import choice
from Tkinter import *
root = Tk()
l = Label(root,text="Ubuntu Her şeydir!!")
l.pack()
Liste = ["Ubuntu iyidir", "Ubuntu güzeldir", "Ubuntu şöylerdir", "Ubuntu böyledir"]
def Degistir():
    l[ "text" ]=choice(Liste)
    root.update()
   
Buton = Button(text="Değiştir", command=Degistir)
Buton.pack()

   
mainloop()
Sevdiklerine sevdiğini söyle çok geç olmadan.

berkayaslan

İf you wanna be the best, You must SMURF something. :)