- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Utcakép banánnal: félrecsúszhat a Google Térkép fókusza
- Xiaomi 15T Pro - a téma nincs lezárva
- Apple iPhone 17 - alap
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Fotók, videók mobillal
- Google Pixel topik
- Sötétvörös iPhone 18 Pro, ezüst-fekete iFold?
- Bemutatása előtt megismerhetjük a Huawei új maratonfutóját
- Samsung Galaxy S25 - végre van kicsi!
Új hozzászólás Aktív témák
-
Silεncε
őstag
Sziasztok!! Lenne egy program, amivel már napok óta nem bírok zöld ágra vergődni. A feladata az lenne, hogy kliensként szolgáljon egy másik projecthez. A másik oldalon egy Teensy van, ami ESP8826-on keresztül lök adatot nekünk wifin (TCP protokollal). A "kliens" feladata az lenne, hogy fogadja a TCP-n érkező adatot, majd ezt kirajzolja egy PyQtGraph vonalgrafikonra. Van is már egy működő verzió, de szeretnénk neki GUI-t is csinálni. Ugye erre a legkézenfekvőbb ebben az esetben a PyQt és ez működik is nagyjából. Azonban azt sehogyan sem tudom megoldani, hogy az érkező adatokat a grafikon real-time rajzolja ki, ebben kérném a segítségeteket. A kód többszálúsítva van, idáig eljutottam már, ezt QThread segítségével csináltam meg. Tudna nekem segíteni valaki, hogy mit rontok el? Nem konkrét megoldásra lenne szükségem, inkább iránymutatásra (tanulni szeretnék, nem készen megkapni a megoldást). Remélem van valaki, aki tud nekem segíteni, előre is köszönöm!!
import sys
import socket
from pyqtgraph import PlotWidget
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtCore import QThread
IP = ""
PORT = 333
DATA = [] #ez az, ahova a tcp bepakolja az adatot, és innen is veszi ki a grafikon is; egyszerre használja a kettő
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(280, 248)
#MainWindow.setWindowIcon(QtGui.QIcon('wifi.png'))
self.connect_button = QtWidgets.QPushButton(MainWindow)
self.connect_button.setGeometry(QtCore.QRect(150, 10, 91, 23))
self.connect_button.setObjectName("connect_button")
self.IPinput = QtWidgets.QLineEdit(MainWindow)
self.IPinput.setGeometry(QtCore.QRect(10, 10, 131, 20))
self.IPinput.setObjectName("IPinput")
self.plotItem = PlotWidget(MainWindow)
self.plotItem.setGeometry(QtCore.QRect(10, 40, 256, 192))
self.plotItem.setObjectName("graphicsView")
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Client"))
self.connect_button.setText(_translate("MainWindow", "Connect to host"))
class programManager(QtWidgets.QWidget, Ui_MainWindow):
def __init__(self):
super(self.__class__, self).__init__()
self.setupUi(self)
self.connect_button.clicked.connect(self.backgroundWorkerManager)
self.IPinput.textChanged[str].connect(self.onChangedIP)
def backgroundWorkerManager(self):
self.bgw = backgroundWorker()
self.bgw.start()
self.plotDraw = plotDraw()
self.plotDraw.start()
def onChangedIP(self, text):
global IP
IP = text
class plotDraw(QtCore.QThread):
def __init__(self):
pass
def __del__(self):
self.wait()
def run(self):
pass #ide akartam a grafikon frissítését beilleszteni, de nem működött
class backgroundWorker(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
def __del__(self):
self.wait()
def run(self):
print(IP)
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((IP, PORT))
MESSAGE = "HELLO I\'M CONNECTED"
self.sock.send(MESSAGE.encode())
while True:
DATA.append(int(self.sock.recv(2048)))
print(DATA)
self.sock.close()
def main():
app = QtWidgets.QApplication(sys.argv)
gui = programManager()
gui.show()
sys.exit(app.exec())
if __name__ == '__main__':
main()
Új hozzászólás Aktív témák
- Friss előzetes érkezett az új Mortal Kombat II filmhez
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Gyúrósok ide!
- Sorozatok
- LED világítás a lakásban
- Parkside szerszám kibeszélő
- Marathon (2025)
- Futás, futópályák
- Utcakép banánnal: félrecsúszhat a Google Térkép fókusza
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- Új Dell G15 Gamer FHD IPS 165Hz i7-13650HX 14mag 16GB 512GB Nvidia RTX 4050 6GB 140W Win11 Garancia
- Laptop ramok DDR5 8Gb 4800Mhz SK Hynix / Samsung, akár nagy tételben is, mennyiségi kedvezmény van!
- Új Samsung Galaxy S25 128/8GB 3év Navy garancia!
- MacBook Pro M1 Max 2021 14" col 32GB ram 1TB SSD
- ASUS RTX5090 - TUF-RTX5090-32G-GAMING /ÚJ, BONTATLAN, MAGYAR KISKER GARANCIA, NEM CÉGES VÁSÁRLÁS/
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

