[PyQt] help about help
Baz Walter
bazwal at ftml.net
Mon Aug 31 18:06:26 BST 2009
Ana Gomez wrote:
> Hello everyone!
> We are trying to use QAssistant to show the help without success.
> We have implemented a class that looks like ...
> *
> from PyQt4 import QtCore, QtGui, QtAssistant
> class MainWindow(QtGui.QMainWindow, Ui_qto_main_window):
> def __init__(self):
> ....
> self.qto_assistant = QtAssistant.QAssistantClient('')
> qto_args = QtCore.QStringList(QtCore.QString
> (QtCore.QLatin1String("-profile /tmp/test.adp")))
> self.qto_assistant.setArguments(qto_args)
> ...
> self.__connect_slots()
>
> def __connect_slots(self):
> ...
> self.connect(self.qto_action_help, QtCore.SIGNAL("triggered ()"),
> self.__help_slot)
>
> def __help_slot(self):
> self.qto_assistant.showPage('/tmp/doc/index.html') *
>
> When we invoke the help, nothing happens. And we have also tried, with the
> same result:
> *
> def __help_slot(self):
> #Forget about self.qto_assistant attribute
> qto_process = QtCore.QProcess(self)
> qto_args = QtCore.QStringList("-collectionFile /tmp/test.qch
> -enableRemoteControl")
> qto_process.start('assistant', qto_args)
> if not qto_process.waitForStarted():
> return *
>
> What is happing? How can we solve it?
> Thanks in advance.
hello ana
try this:
import sys
from PyQt4 import QtCore, QtGui
def handleButton():
path = QtCore.QLibraryInfo.location(
QtCore.QLibraryInfo.BinariesPath) + '/assistant'
args = QtCore.QStringList() << '-enableRemoteControl'
process.start(path, args)
def handleStarted():
docs = QtCore.QLibraryInfo.location(
QtCore.QLibraryInfo.DocumentationPath)
stream = QtCore.QTextStream(process)
stream << 'setSource ' << docs << '/html/assistant-manual.html\n'
def handleError(error):
QtGui.QMessageBox.critical(
button, 'Error', 'Could not start Qt Assistant')
app = QtGui.QApplication(sys.argv)
app.connect(app, QtCore.SIGNAL('lastWindowClosed()'),
app, QtCore.SLOT('quit()'))
process = QtCore.QProcess(app)
process.connect(process, QtCore.SIGNAL('started()'), handleStarted)
process.connect(process, QtCore.SIGNAL('error(QProcess::ProcessError)'),
handleError)
button = QtGui.QPushButton('Show Qt Assistant')
button.connect(button, QtCore.SIGNAL('clicked()'), handleButton)
button.resize(200, 50)
button.move(400, 400)
button.show()
sys.exit(app.exec_())
regards
baz walter
More information about the PyQt
mailing list