i created an ui with two Qpushbuttons (btntest, btntest_2) and one Qtextbroswer (test). what i wanna do is when i click btntest , it goes to worker1.run and append texts to the qtextbrowser but whenever i click btntest it will just crashes. can you tell me what im missing?
import time as time
import win32gui, win32ui, win32con
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
from PyQt5 import QtCore
from PyQt5.QtTest import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
form_class = uic.loadUiType("test.ui")[0]
class WindowClass(QMainWindow, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.btntest.clicked.connect(self.btntestfunction)
self.btntest_2.clicked.connect(self.btntest2function)
self.worker = Worker1()
def sleep(self,n):
self.test.append("sleeping")
QTest.qWait(n*1000)
def btntestfunction(self):
self.test.append("start")
self.sleep(2)
self.worker.start()
def btntest2function(self):
self.test.append("pause")
self.worker.pause()
class Worker1(QThread):
def __init__(self):
super().__init__()
self.running = True
def run(self):
self.running = True
while self.running:
self.test.append("hello") # where the program crashes,
self.sleep(5) # sleep function works but *self.test.append("sleeping") wont
appear
def pause(self):
self.running = False
if __name__ == "__main__" :
app = QApplication(sys.argv)
myWindow = WindowClass()
myWindow.show()
app.exec_()