Ubuntu Türkiye

Yazılım => Python => Programlama => Tkinter => Konuyu başlatan: berkayaslan - 11 Şubat 2014 - 17:23:46

Başlık: [Çözüldü] Tkinter Label Kaldırıp Yerine Yenisini Koyma
Gönderen: berkayaslan - 11 Şubat 2014 - 17:23:46
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.
Başlık: Ynt: Tkinter Label Kaldırıp Yerine Yenisini Koyma
Gönderen: guopx - 11 Şubat 2014 - 17:38:39
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()
Başlık: Ynt: Tkinter Label Kaldırıp Yerine Yenisini Koyma
Gönderen: berkayaslan - 11 Şubat 2014 - 19:10:01
Çok teşekkür ederim sorun çözüldü.  :)