繁体   English   中英

Qt 5:从命令行打开特定类的文档

[英]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,如果我知道QListQMainWindow等类名称,如何自动为其打开帮助? 而且,我更喜欢浏览器而不是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM