Llamada a método de otra clase
Publicado por Carlos (1 intervención) el 17/06/2014 15:25:51
Buenas, estoy intentando insertar un valor desde un thread en una clase llamada Principal donde está la interfaz PyQt con un lineEdit.
Básicamente el programa lee el valor que le manda el arduino para dejarlo en dicho lineEdit. El problema está en que no sé de qué forma meter ese valor desde el método run del thread que es el que lee los valores del arduino.
La linea importante que falla está en negrita aquí abajo:
Un abrazo y ojalá me podáis ayudar
Básicamente el programa lee el valor que le manda el arduino para dejarlo en dicho lineEdit. El problema está en que no sé de qué forma meter ese valor desde el método run del thread que es el que lee los valores del arduino.
La linea importante que falla está en negrita aquí abajo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import sys
import serial
import threading
from time import sleep
from PyQt4 import QtCore, QtGui
from temperaturaUI import Ui_Form
class Principal(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.aplicacio = Ui_Form()
self.aplicacio.setupUi(self)
self.aplicacio.sortir_Button.clicked.connect(exit)
self.aplicacio.connectar_Button.clicked.connect(self.connectar)
def connectar(self):
try:
arduino = serial.Serial('/dev/ttyACM0', 9600)
print "Connectat amb èxit"
temperatura = fil(0, arduino)
temperatura.start()
except:
print "Impossible connectar a l'Arduino"
class fil(threading.Thread):
def __init__(self, temp, serie):
threading.Thread.__init__(self)
self.temp = temp
self.serie = serie
def run(self):
try:
while 1:
self.temp = self.serie.readline()
if self.temp != 0:
Principal.self.aplicacio.actual_lineEdit.setText(self.temp)
sleep(0.2)
except:
print "Error al llegir de l'Arduino"
def main():
app = QtGui.QApplication(sys.argv)
aplicacio = Principal()
aplicacio.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Un abrazo y ojalá me podáis ayudar
Valora esta pregunta


0