Python tkinter threading kullanımı

Arkadaşlar python tkinter ile threading nasıl kullanılmalı butonu tetiklediğinde ikinci kez tıklatınca uygulama hata veriyor threading başlatıldığı için

Kodu yaz hatayı da yaz.

def istek():
time.sleep(3)
b1.config(text=“cagedbeyolsunhadi”)
print(“cagedbey”)

x = threading.Thread(target=istek,daemon=True)

b1 = Button(frame_orta,text=“Gönder”,background=“red”,command=x.start)

hata ise şu threads can only be started once

Thread önce başka bir yerde başlatılıyor. Tekrardan başlatmaya çalışıyorsun. Devam eden bir Thread’e başlat diyemeyiz.

Kodun tamamını atmadığın için bir fikrim yok. Threadleri aynı yerde bir kez başlat.

1 Beğeni

harbiden nası bi kod attın bişey anlamadım bende.

1 Beğeni

kodları atarken mantıklı bir şekilde atarsan daha iyi olur. yazdığım kod istediğin şey galiba.

from tkinter import *
import time
import threading

frame_orta = Tk()

def istek():
    time.sleep(3)
    b1.config(text="cagedbeyolsunhadi")
    print("cagedbey")

def asdf():
    x = threading.Thread(target=istek,daemon=True)
    x.start()
b1 = Button(frame_orta,text="Gönder",background="red",command=asdf)
b1.pack()

frame_orta.mainloop()
2 Beğeni

Aynı thread’ı butona her basıldığında başlatmaya çalışıyorsunuz. Oysa threat’lar bir tek defa çalışabilir. Her seferinde yeni bir threating.Threat örneği oluşturmalısınız.

1 Beğeni

Benim yazdığım doğrumu peki?

2 Beğeni

Çalıştırmadım ama doğru duruyor.

2 Beğeni

Evet benim bir fikrim yoktu threadlarla işlem bittikten sonra sonra kapatıp tekrar başlatabiliyormuyuz

Teşekkürler işe yaradı bende yabancı kaynaklardan izlemiştim bu yaptığınız örnekteki gibi threadı fonksiyonun içinde çalıştırınca çözüldü problem kusura bakmayın kodlar çok karışıktı :slight_smile:

thread i kapatabilen biri varsa insan üstü varlıktır.

3 Beğeni

Bu threadlarla yapılan asenkron programlama ile yapılabilirmiydi acaba

Yapılırdı.

1 Beğeni