def startAssistant(self): if not self.proc: self.proc = QtCore.QProcess() if self.proc.state() != QtCore.QProcess.Running: app = QtCore.QLibraryInfo.location( QtCore.QLibraryInfo.BinariesPath) app += QtCore.QDir.separator() if sys.platform == 'darwin': app += QtCore.QLatin1String( 'Assistant.app/Contents/MacOS/Assistant') else: app += QtCore.QLatin1String('assistant') args = [ QtCore.QLatin1String('-collectionFile'), QtCore.QLatin1String('path to .qhc'), QtCore.QLatin1String('-enableRemoteControl'), ] self.proc.start(app, args) if not self.proc.waitForStarted(): if QtWidgets.aApp is not None: tr = QtWidgets.qApp.tr else: tr = str QtWidgets.QMessageBox.critical( 0, tr('Simple Text Viewer'), tr('Unable to launch Qt Assistant (%s)') % app) return False return True
def __init__(self, logger=None, parent=None, **kwargs): QtCore.QObject.__init__(self, parent, **kwargs) BaseToolController.__init__(self, logger) self.subprocess = QtCore.QProcess(parent) self.subprocess.setProcessChannelMode(QtCore.QProcess.MergedChannels) # connect process handlers and I/O handlers self.subprocess.readyReadStandardOutput.connect(self.handle_stdout) self.subprocess.readyReadStandardError.connect(self.handle_stderr) self.subprocess.error.connect(self.handle_error) self.subprocess.finished.connect(self.finalize_run)