Birinci dosya
class botucalistirclass(QtCore.QObject):
global otherclass
redmessage = QtCore.pyqtSignal(str)
greenmessage = QtCore.pyqtSignal(str)
yellowmessage = QtCore.pyqtSignal(str)
def bot(self):
global islenen_hesap_sayisi
print("working")
mode = "PC" #Modu db üzerinden çekecek daha sonrasında.
print(id)
if mode=="PC":
while islenen_hesap_sayisi<hesapsayisi:
islenen_hesap_sayisi += 1
print(islenen_hesap_sayisi)
#Selenium kodları buraya gelecek.
sys.exit()
elif mode=="VDS":
#Selenium kodları buraya gelecek.
self.yellowmessage.emit("Program 24 saatlik bekleme süresine girdi.")
#HWID doğrulaması eklenecek.
time.sleep(86460)
class MainPage(QMainWindow):
def __init__(self, *args, **kwargs):
QtWidgets.QWidget.__init__(self, *args, **kwargs)
loadUi("agb.ui", self)
global islenen_hesap_sayisi
islenen_hesap_sayisi = 0
self.thread = QtCore.QThread()
self.botucalistir = botucalistirclass()
self.botucalistir.greenmessage.connect(self.green_log_message)
self.botucalistir.yellowmessage.connect(self.yellow_log_message)
self.botucalistir.redmessage.connect(self.red_log_message)
self.botucalistir.moveToThread(self.thread)
self.thread.started.connect(self.botucalistir.bot)
self.botucalistirbutton.clicked.connect(self.thread.start)
def add_item(self, message, color):
item = QListWidgetItem(message)
item.setForeground(color)
self.loglist.insertItem(0, item)
def red_log_message(self, message):
self.add_item(message, Qt.red)
def green_log_message(self, message):
self.add_item(message, Qt.green)
def yellow_log_message(self, message):
self.add_item(message, Qt.yellow)
İkinci dosya
from PyQt5.QtWidgets import *
from PyQt5.uic import loadUi
import qdarkstyle
from second import MainPage
app = QApplication([])
window = MainPage()
app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
window.show()
app.exec_()
Botucalistirbutton ile botucalistirclass’taki def bot’u çalıştırıyorum. Fakat aynı butona tekrar tıkladığımda işlem yapmıyor, o class’taki görevin bitmesi gerekiyor. self.close() yazıyordu internette fakat onu denediğimde “AttributeError: ‘botucalistirclass’ object has no attribute ‘close’” hatası veriyor. Yardımcı olabilirseniz sevinirim.