PyQt5 Strat, Stop İşlemi nasıl yapılır?

Merhaba arkadaşlar bir projem için PyQt5 de çalışma yapıyorum ilk çalışmam, yazdığım programda start ve stop butonları var yani isteğimse starta bastığımda program çalışmaya başlayacak stop a bastığımda ise işlemler sonlanıp duracak bunu nasıl yapabilirim bu konuda bir bilgim yok yardımcı olabilirmisiniz acaba.

Sorunu daha açıklayıcı yaz, varsa kod paylaş. Neyi start yapıyorsun önce onu anlat ki, stop yapıla bilirmi bilmezmi düşünelim.

Hocam paylaşacak kod yok proje login girişi yapıp for dögüsü içerisinde belirli web sitelerini gezecek burada starta basıp işlemlerin başlamasını stopa bastığımdada faaliyetin durdurulmasını istiyorum PyQt5 in bunun için kendi sınıfı varmı bilmiyorum ilk defa PyQt5 kullanıyorum

Kod bu hocam for döngüsüne girip liste içindeki siteleri sırayla ziyaret ediyor selenium kullanıyorum yardımcı olursanız sevinirim.

liste = []  #Site url adresleri

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-popup-blocking")
chrome_options.add_argument("--profile-directory=Default")
chrome_options.add_argument("--ignore-certificate-errors")

driver = Chrome(options=chrome_options, service_log_path=ChromeDriverManager().install())
driver.set_page_load_timeout(30)
    for i in liste:
        try:            
            driver.get(i)
            time.sleep(3)
        except:
            print("Hata verdi : " + str(i))

Proqramda Start, Stop diye buton varsayarak yazıyorum.
Önce bir tane değişken tanımlaman lazım, mesela

proses = True

Şu değişken program ilk açıldığında ve Start butonuna bastığında True olsun, Stop butonuna tikladiğinda bu değer False olsun. Böylece for içerisinde bu değişkeni kontrol edersin, eğer False ise döngü kırılsın:


proses = True

liste = []  #Site url adresleri

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-popup-blocking")
chrome_options.add_argument("--profile-directory=Default")
chrome_options.add_argument("--ignore-certificate-errors")

driver = Chrome(options=chrome_options, service_log_path=ChromeDriverManager().install())
driver.set_page_load_timeout(30)
    for i in liste:

		if proses == False :
			break

        try:            
            driver.get(i)
            time.sleep(3)
        except:
            print("Hata verdi : " + str(i))
1 Beğeni

Peki hocam çalışan bir program threading kullanmadan dışardan müdehale edilebiliyomu ki?

Sorunu malesef anlayamadım

Merhaba hocam kodları yazıp test etmek için anca fırsat buldum burada demek istediğim program çalışırken stopa bassakta bunu işleme almayacağı idi multithreading kullanarak sürekli stop tuşunu dinlemede tutarak çözülmesi gerektiği konusunda fikrim vardı ama nasıl yapılacağını bilmiyordum bu konuda yardım istemiştim sizin dediğiniz şekilde maalesef olmuyor çünkü stopa bastığımızda talebimi işlem sırasına koyduğu için zaten döngü bitip program sonlandıktan sonra işleme alıyor. nasıl yapılacağı konusunda hala yardım bekliyorum.