How to get a self.count
from a class MainWindow
to Class Mythread
run() count
board = Arduino("COM6")
Communication_start= "Communication Successfully started"
Communication_close = "Communication Close"
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.label.setText('目前次數')
self.ui.pushButton.setText("Start")
self.ui.pushButton_2.setText("Stop")
self.ui.lineEdit.setText("1")
self.ui.label_2.setText("打點次數")
self.ui.label_3.setText("上升持續時間")
self.ui.lineEdit_2.setText("1")
self.ui.lineEdit_3.setText("1")
self.ui.label_4.setText("下降持續時間")
self.ui.lineEdit_4.setText(Communication_start)
self.ui.toolBar.setWindowTitle("toolBar")
self.ui.pushButton.clicked.connect(self.buttonClicked)
self.ui.pushButton_2.clicked.connect(self.buttonClicked2)
self.my_thread = MyThread()
self.my_thread.my_signal_1.connect(self.set_lcdNumber_func)
def buttonClicked(self):
self.my_thread.start()
count = int(self.ui.lineEdit.text())
self.ui.lineEdit.setText(str(count))
self.count = int(self.ui.lineEdit.text())
up_duration = self.ui.lineEdit_2.text()
self.ui.lineEdit_2.setText(up_duration)
down_duration = self.ui.lineEdit_3.text()
self.ui.lineEdit_3.setText(down_duration)
def buttonClicked2(self):
self.ui.lineEdit_4.setText(Communication_close)
board.exit()
def set_lcdNumber_func(self, num):
self.ui.lcdNumber.display(num)
class MyThread(QThread):
my_signal_1 = pyqtSignal(str)
def __init__(self):
super(MyThread, self).__init__()
def run(self):
for i in range(1,int(count)):
self.my_signal_1.emit(str(i))
board.digital[8].write(1)
board.digital[13].write(1)
time.sleep(float(down_duration))
board.digital[8].write(0)
board.digital[13].write(0)
time.sleep(float(up_duration))