На PyQT состряпал форму, к компьютеру по serial подключен arduino
подсобите как запустить функцию print_serial при поступлении данных в serial порт?
я как понимаю нужно опрос порта реализовать в потоке но вот как это сделать?
import sys # sys нужен для передачи argv в QApplication from PyQt5 import QtWidgets import design # Это наш конвертированный файл дизайна import serial #для работы с сериал соединением ser=serial.Serial("/dev/ttyACM0",9600) #change ACM number as found from ls /dev/tty/ACM* ser.baudrate=9600 write_ser="Привет от PI!" class ExampleApp(QtWidgets.QMainWindow, design.Ui_MainWindow): def __init__(self): # Это здесь нужно для доступа к переменным, методам # и т.д. в файле design.py super().__init__() self.setupUi(self) # Это нужно для инициализации нашего дизайна self.pushButton.clicked.connect(self.write_arduino) # Выполнить функцию write_arduino # при нажатии кнопки def print_serial(self): """печать в listwidget""" read_ser=ser.readline() self.listWidget.addItem(read_ser) def write_arduino(self): """функция обработки передачи данных в порт""" ser.write(write_ser.encode()) #Передача в порт с кодировкой encode self.listWidget.addItem(write_ser) def main(): app = QtWidgets.QApplication(sys.argv) # Новый экземпляр QApplication window = ExampleApp() # Создаём объект класса ExampleApp window.show() # Показываем окно app.exec_() # и запускаем приложение if __name__ == '__main__': # Если мы запускаем файл напрямую, а не импортируем main() # то запускаем функцию main()