You should start the script with the command (or shortcut) 'python name_of_python_script.py', but you probably know that. Problem could be in multiple Qt instances (Qt app starts PyQt app, or similar), but I am not 100% sure what are you trying to do. questions: - Which operating system you are running? - Which type of Qt App needs to start pyqtgraph app you provided? - What is the graphic libraries you using with python app that couldn't start the script? Maybe you can try with:
import subprocess subprocess.call(["python", "myscript.py"]) On Thu, Jun 15, 2017 at 10:21 PM, Brandon <[email protected]> wrote: > I have a python script that is working great. It takes in live data from a > Qt C++ app, and displays it in the graph. > > The problem is, I have to manually start the script. I cannot get the Qt > app to start the script, I can't get other python scripts to start it. I > have no means by which to automate it's opening for the end user. It will > only run if I manually click on it or type in the command prompt for it. > What is causing this? > > import pyqtgraph as pg >> from pyqtgraph.Qt import QtCore, QtGui >> import numpy as np >> import math >> import socket >> >> vis_socket = socket.socket() >> host = socket.gethostname() >> port = 5040 >> >> vis_socket.connect((host, port)) >> >> frame = 0 >> position = [] >> >> TIME_SIZE = 300 >> >> torque_mag = [] >> force_mag = [] >> >> main_window = pg.GraphicsWindow() >> main_window.setWindowTitle('Bracelet Motion') >> >> mag_labels = {"left":("Newtons"),"bottom":("Frames")} >> magnitude_plot = main_window.addPlot() >> magnitude_plot.setYRange(-5,50) >> magnitude_plot.setLabel('left', 'Newtons') >> magnitude_plot.setLabel('bottom', 'Number of Displayed Frames') >> magnitude_plot.addLegend() >> magnitude_plot.setTitle('Loadcell Magnitudes') >> # plot2 = mainWindow.addPlot() >> >> curve_f_mag = magnitude_plot.plot(force_mag, pen='g', name=' Force') >> curve_tq_mag = magnitude_plot.plot(torque_mag, pen='r', name=' Torque') >> >> >> def inc_frame(): >> global frame, position >> if len(position) < TIME_SIZE: >> position.append(frame) >> # else: >> # position[:-1] = position[1:] >> # position[-1] = frame >> frame += 1 >> >> def plot_force_mag(data): >> # incFrame() >> global force_mag, curve_f_mag, position >> magnitude = calc_magnitude(data) >> if len(force_mag) < TIME_SIZE: >> force_mag.append(magnitude) # build the list to desired size >> else: >> force_mag[:-1] = force_mag[1:] # shift data in the array one >> sample left >> force_mag[-1] = magnitude # set the last duplicate value to the >> new value >> curve_f_mag.setData(position, force_mag) >> >> def plot_torque_mag(data): >> # incFrame() >> global torque_mag, curve_tq_mag, position >> magnitude = calc_magnitude(data) >> if len(torque_mag) < TIME_SIZE: >> torque_mag.append(magnitude) # build the list to desired size >> else: >> torque_mag[:-1] = torque_mag[1:] # shift data in the array one >> sample left >> torque_mag[-1] = magnitude # set the last duplicate value to the >> new value >> curve_tq_mag.setData(position, torque_mag) >> # curveTqMag.setPos(frames, 0) >> >> def calc_magnitude(data): >> val_x = float(data[0]) >> val_y = float(data[1]) >> val_z = float(data[2]) >> return round(math.sqrt((val_x*val_x) + (val_y*val_y) + >> (val_z*val_z)),3) >> >> def parse_data(data): >> data_list = data.split() >> if len(data_list) > 0: >> inc_frame() >> for d in data_list: >> i = data_list.index(d) >> # if d == "tipPos": >> # getTipPos(dataList[i:i + 4]) >> if d == "force": >> plot_force_mag(data_list[i+1 : i+4]) >> if d == "torque": >> plot_torque_mag(data_list[i+1 : i+4]) >> >> def main(): >> incoming = vis_socket.recv(8192).decode() >> stream_list = incoming.split(':') >> for chunk in stream_list: >> parse_data(chunk) >> >> timer = pg.QtCore.QTimer() >> timer.timeout.connect(main) >> timer.start(50) >> >> if __name__ == '__main__': >> import sys >> >> if (sys.flags.interactive != 1) or not hasattr(QtCore, >> 'PYQT_VERSION'): >> QtGui.QApplication.instance().exec_() >> > > > -- > You received this message because you are subscribed to the Google Groups > "pyqtgraph" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/pyqtgraph/cb943810-f464-4ea3-bafd-4169e3a35d19%40googlegroups.com > <https://groups.google.com/d/msgid/pyqtgraph/cb943810-f464-4ea3-bafd-4169e3a35d19%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "pyqtgraph" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pyqtgraph/CAD_qyJqxo-F4XmB9L%2BOkYZt2R0e8h580verJDYTnHeqGm7so3g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
