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.

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

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()

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.

Benim yazdığım doğrumu peki?

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

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.

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

Yapılırdı.