Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import serial
- import time
- from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QTextEdit
- from PyQt5.QtWidgets import QLineEdit, QPushButton, QVBoxLayout, QGridLayout
- from PyQt5 import QtCore, QtGui
- from PyQt5.QtGui import *
- from PyQt5.QtWidgets import *
- from PyQt5.QtCore import *
- class Main(QMainWindow):
- def __init__(self, parent = None):
- QMainWindow.__init__(self, parent)
- self.resize(250, 350)
- self.setWindowTitle('Serial Reader')
- self.ser = serial.Serial(
- port='/dev/ttyUSB0',
- baudrate = 9600,
- parity=serial.PARITY_NONE,
- stopbits=serial.STOPBITS_ONE,
- bytesize=serial.EIGHTBITS,
- timeout=1
- )
- self.button = QPushButton('Send data - ', self)
- self.button.clicked.connect(self.handleBtn)
- self.textEdit = QTextEdit(self)
- self.textEdit.resize(250, 300)
- self.lineEdit = QLineEdit(self)
- self.lineEdit.resize(150, 30)
- self.lineEdit.move(100, 320)
- self.button.move(0, 320)
- self.timer = QTimer()
- self.timer.setInterval(1)
- self.timer.timeout.connect(self.recurring_timer)
- self.timer.start()
- def handleBtn(self):
- data = self.lineEdit.text() + '\n'
- self.ser.write(data.encode())
- content = self.textEdit.toPlainText() + '----------------------------------\n'
- self.textEdit.setText(content)
- print(data.encode())
- def recurring_timer(self):
- if self.ser.inWaiting():
- x=self.ser.readline()
- content = self.textEdit.toPlainText() + x.decode()
- self.textEdit.setText(content)
- self.textEdit.verticalScrollBar().setValue(self.textEdit.verticalScrollBar().maximum());
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- window = Main()
- window.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement