app = QtGui.QApplication(sys.argv) print('wirks') ############### ATTENTION ############### #You MUST change the following line to your Stellarium output.txt file. Else IT WILL NOT WORK. filepath = '/Users/marina/Library/Application Support/Stellarium/output.txt' ############################################# #this gets called everytime the output file is changed, the script is monitoring the file in the background @QtCore.pyqtSlot(str) def file_changed(path): coordFile = open(filepath, 'r') line = coordFile.readline() print line ser.write(str(line)) print ser.readline( ) # Read the newest output from the Arduino to check the connection went OK coordFile.close() sleep(.1) # Delay for one tenth of a second fs_watcher = QtCore.QFileSystemWatcher([filepath]) fs_watcher.connect(fs_watcher, QtCore.SIGNAL('fileChanged(QString)'), file_changed) app.exec_()
def __init__(self): super(MainWindow, self).__init__() self.currentPath = '' self.dotPath = None self.view = SvgView() fileMenu = QtGui.QMenu("&File", self) openAction = fileMenu.addAction("&Open...") openAction.setShortcut("Ctrl+O") openDotAction = fileMenu.addAction("Open &Dot Graph...") openDotAction.setShortcut("Ctrl+D") quitAction = fileMenu.addAction("E&xit") quitAction.setShortcut("Ctrl+Q") self.menuBar().addMenu(fileMenu) viewMenu = QtGui.QMenu("&View", self) refreshAction = viewMenu.addAction("&Refresh") refreshAction.setShortcut("Ctrl+R") self.backgroundAction = viewMenu.addAction("&Background") self.backgroundAction.setEnabled(False) self.backgroundAction.setCheckable(True) self.backgroundAction.setChecked(False) self.backgroundAction.toggled.connect(self.view.setViewBackground) self.outlineAction = viewMenu.addAction("&Outline") self.outlineAction.setEnabled(False) self.outlineAction.setCheckable(True) self.outlineAction.setChecked(True) self.outlineAction.toggled.connect(self.view.setViewOutline) self.menuBar().addMenu(viewMenu) rendererMenu = QtGui.QMenu("&Renderer", self) self.nativeAction = rendererMenu.addAction("&Native") self.nativeAction.setCheckable(True) self.nativeAction.setChecked(True) if QtOpenGL.QGLFormat.hasOpenGL(): self.glAction = rendererMenu.addAction("&OpenGL") self.glAction.setCheckable(True) self.imageAction = rendererMenu.addAction("&Image") self.imageAction.setCheckable(True) if QtOpenGL.QGLFormat.hasOpenGL(): rendererMenu.addSeparator() self.highQualityAntialiasingAction = rendererMenu.addAction( "&High Quality Antialiasing") self.highQualityAntialiasingAction.setEnabled(False) self.highQualityAntialiasingAction.setCheckable(True) self.highQualityAntialiasingAction.setChecked(False) self.highQualityAntialiasingAction.toggled.connect( self.view.setHighQualityAntialiasing) rendererGroup = QtGui.QActionGroup(self) rendererGroup.addAction(self.nativeAction) if QtOpenGL.QGLFormat.hasOpenGL(): rendererGroup.addAction(self.glAction) rendererGroup.addAction(self.imageAction) self.menuBar().addMenu(rendererMenu) #Used to watch dot files for changes. self.qtwatcher = QtCore.QFileSystemWatcher() self.qtwatcher.fileChanged.connect(self.refresh) openAction.triggered.connect(self.openFile) openDotAction.triggered.connect(self.openDotFile) quitAction.triggered.connect(QtGui.qApp.quit) rendererGroup.triggered.connect(self.setRenderer) refreshAction.triggered.connect(self.refresh) self.setCentralWidget(self.view) self.setWindowTitle("SVG Viewer") if defaultfile is not None: self.openDotFile(defaultfile)