Çözüldü Python bekleme sorunu

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

arifemretrhnn

Decapat
Katılım
9 Şubat 2022
Mesajlar
88
Daha fazla  
Cinsiyet
Erkek
Aşağıda gördüğünüz kodu Python'dan çalıştırınca tkinter penceresi açılıyor yaptım yazıp butona basıyorum for döngüsü bitince label :) kodu çalışıyor ama butona basılınca aferin yazmasını for döngüsü bitince de aferin yazısının :) işaretine dönmesini istiyorum .
Kod:
from tkinter import *
import os
import time



pencere = Tk()

def sign_in():
    sifre=entry.get()
    if sifre=="yaptım":
        label.config(text="Aferin")
        entry.destroy()
        buton.destroy()
        for i in range (500):
   
            print ("1")
            print ("2")
            print ("3")
        label.config(text=":)")

   
                       

   
    elif sifre=="ders":
          label.config(text="Hadi çalış")
          entry.destroy()
          buton.destroy()

    else:
        print("Ödevini yap")
        os.system('shutdown -s -f -t 10')


label=Label(pencere)
label.config(text="yaptım yaz ders çalışacaksan ders yaz",font=("Arial",20))
label.place(x=20,y=20)

entry=Entry(pencere)
entry.place(x=20,y=70)

buton=Button(pencere)
buton.config(text="ödevimi yaptım",bg="white",fg="black",command=sign_in)
buton.place(x=20,y=100)

mainloop()
Bu arada time sleep fonksiyonunu da denedim sonuç yine aynı.
 
Son düzenleyen: Moderatör:
Çözüm
Metni ayarladıktan sonra update() çağırabilirsin.

Python:
label.config(text="Aferin")
pencere.update()
Aşağıda gördüğünüz kodu Python'dan çalıştırınca tkinter penceresi açılıyor yaptım yazıp butona basıyorum for döngüsü bitince label :) kodu çalışıyor ama butona basılınca aferin yazmasını for döngüsü bitince de aferin yazısının :) işaretine dönmesini istiyorum .
Kod:
from tkinter import *
import os
import time



pencere = Tk()

def sign_in():
    sifre=entry.get()
    if sifre=="yaptım":
        label.config(text="Aferin")
        entry.destroy()
        buton.destroy()
        for i in range (500):
   
            print ("1")
            print ("2")
            print ("3")
        label.config(text=":)")

   
                       

   
    elif sifre=="ders":
          label.config(text="Hadi çalış")
          entry.destroy()
          buton.destroy()

    else:
        print("Ödevini yap")
        os.system('shutdown -s -f -t 10')


label=Label(pencere)
label.config(text="yaptım yaz ders çalışacaksan ders yaz",font=("Arial",20))
label.place(x=20,y=20)

entry=Entry(pencere)
entry.place(x=20,y=70)

buton=Button(pencere)
buton.config(text="ödevimi yaptım",bg="white",fg="black",command=sign_in)
buton.place(x=20,y=100)

mainloop()
Bu arada time sleep fonksiyonunu da denedim sonuç yine aynı.
For döngüsünü neden kullandınız ?
aferin yazmasını
Burada son işlem "aferin yazsın" olmadığı için for döngüsünden çıkılıp direk gülen yüz olarak arayüze yazılması.
 

Geri
Yukarı