PyQt5 Öğrenmeye yeni başladım. Belirli bir kısma kadar geldim. Sonra biraz kendi projelerimi ürettikten sonra öğrenmeye devam edecektim.
Bu o projelerden bir tanesi.
Ders çalışırken pomodoro tekniği kullandığım için ona yönelik bir şey yaptım.
25 dakika
5 dakika
20 dakika
olmak üzere 3 tane buton bulunmakta.
Butonların üçü de çalışıyor. Süre bitince alarm misali müzik çalıyor.
Ancak şöyle 2 tane problem var :
birincisi :
karşımıza çıkan 3 butonun altında bir yazı alanı bulunmakta. “Pomodoro için hangi işlemi kullanacaksınız” diye. Butonlardan herhangi birine bastığımda x dakika çalışmaya başladı demesini istiyorum ancak yazdığım kod işe yaramadı nedense.
Ve müzikler sadece 1 kere çalınabiliyor. Başka bir dakikaya bastığımda uygulama hata verip donuyor.
Ne yapmalıyım ?
import sys
from PyQt5 import QtWidgets
import simpleaudio as sa
import time
class pencere(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.yazialani = QtWidgets.QLabel("Pomodoro Tekniği İçin Hangisini seçeceksin ?")
self.minute = 0
self.button1 = QtWidgets.QPushButton("25 Dakika")
self.button2 = QtWidgets.QPushButton("5 Dakika")
self.button3 = QtWidgets.QPushButton("20 Dakika")
v_box = QtWidgets.QVBoxLayout()
v_box.addWidget(self.button1)
v_box.addWidget(self.button2)
v_box.addWidget(self.button3)
v_box.addWidget(self.yazialani)
v_box.addStretch()
h_box = QtWidgets.QHBoxLayout()
h_box.addStretch()
h_box.addLayout(v_box)
h_box.addStretch()
self.setLayout(h_box)
self.button1.clicked.connect(self.click1)
self.button2.clicked.connect(self.click2)
self.button3.clicked.connect(self.click3)
self.show()
def click1(self):
self.minute = 25
self.yazialani.setText("{} Dakika sonra alarm çalacaktır".format(str(self.minute)))
time.sleep(self.minute * 60)
wave_obj = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Force.wav")
play_obj = wave_obj.play()
play_obj.wait_done()
def click2(self):
self.minute = 5
self.yazialani.setText("{} Dakika sonra alarm çalacaktır".format(str(self.minute)))
time.sleep(self.minute * 60)
wave_obj = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Force.wav")
play_obj = wave_obj.play()
play_obj.wait_done()
def click3(self):
self.minute = 20
self.yazialani.setText("{} Dakika sonra alarm çalacaktır".format(str(self.minute)))
time.sleep(self.minute * 60)
wave_obj = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Force.wav")
play_obj = wave_obj.play()
play_obj.wait_done()
app = QtWidgets.QApplication(sys.argv)
window = pencere()
sys.exit(app.exec_())