[英]Qt 5: open documentation for particular class from command-line
在Qt 4中,我有带有文档的doc / html文件夹,并且我使用Vim的QtHelp插件立即打开类引用,这非常方便。
但是在Qt 5中,我没有安装html帮助。 真伤心
我看到我们有助手,它可以显示本地安装的帮助,但是如何使其成为给定类的开放引用? 像这样:
assistant -class QList
我发现的唯一方法是使用URL:
assistant -showUrl qthelp://org.qt-project.qtcore.521/qtcore/qlist.html
那行得通,但实际上并不方便:如果我知道某个类名,该如何解析它的URL? (以上为一个QList
我的手发现:刚才输入QList
在助手的搜索,并复制URL)
所以,问题是:对于Qt 5,如果我知道QList
, QMainWindow
等类名称,如何自动为其打开帮助? 而且,我更喜欢浏览器而不是Qt助手,至少是因为Qt助手没有选项卡,因此,对于每个类,将打开助手的新副本。
可以在Qt 5中进行。您可以将stdin上的命令输入给assistant -enableRemoteControl
。
假设将activateKeyword QList
写入标准输入,助手将显示它。
您可以通过单独的过程轻松完成此操作。 首次启动:
# for unix socket
nc -lkU ~/.assistantfifo | assistant -enableRemoteControl
# tcp socket
nc -lk 8080| assistant -enableRemoteControl
那你就可以
# for unix socket
echo "activateKeyword QObject" | nc -U ~/.assistantfifo
# for tcp socket
echo "activateKeyword QList" | nc localhost 8080
activateKeyword
选择索引项。 如果该术语是非唯一的,例如存在于多个类中的方法,则将打开一个选择对话框。
要在该术语中进行选择(例如,类中的方法),请使用setSource #anchor
,其中anchor是方法名称,或者对属性foo
foo-prop
。
您必须修改vim插件才能执行类似的操作。
几乎所有您需要了解的内容都在man nc
。 nc是netcat的缩写。 Unix域套接字被命名为文件系统对象。 它们是用-U
选择的,建议通过tcp套接字使用。
侦听的netcat在文件系统上创建套接字。 尝试写入不存在的套接字是无操作的,因此,如果~/.assistantfifo
不存在, nc -U ~/.assistantfifo
是无害的无操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.