开源项目之跨平台的词典软件 GoldenDict

来源:互联网 发布:防止网络诈骗PPT 编辑:程序博客网 时间:2024/05/16 08:28

GoldenDict 是一款不错的、与 StarDict(星际译王)类似的词典软件。它使用 WebKit 作为渲染核心,格式化、颜色、图像、链接等支持一应俱全;支持多种词典文件格式,包括 Babylon 的 .BGL 文件、StarDict 的 .ifo/.dict/.idx/.syn 文件、Dictd 的 .index/.dict(.dz) 文件、ABBYY Lingvo 的 .dsl/.lsa/.dat 文件;可查询 Wikipedia、Wiktionary 等基于 MediaWiki 的 Wiki 网站,且能够通过模板 Url 模式来使用其他的在线词典网站;具有基于 Hunspell 的 morphology 系统;包含完整的 Unicode 支持、scan 弹窗及全局热键等功能。效果如图:



QtSingleApplication组件提供支持应用程序,对于某些应用程序,它是有非常有用的,甚至是关键的。该应用程序应该激活并启动已经运行的实例,并且可以执行请求的操作,例如加载一个文件。
QtSingleApplication类提供了一个接口来检测正在运行的实例,该实例发送命令字符串。对于控制台(非GUI)应用程序,QtSingleCoreApplication变种,从而避免依赖于QtGui。

如下是显示了如何将现有的应用程序使用QtSingleApplication:

 // Original int main(int argc, char **argv) {     QApplication app(argc, argv);     MyMainWidget mmw;     mmw.show();     return app.exec(); } // Single instance int main(int argc, char **argv) {     QtSingleApplication app(argc, argv);     if (app.isRunning())         return !app.sendMessage(someDataString);     MyMainWidget mmw;     app.setActivationWindow(&mmw);     mmw.show();     return app.exec(); }
如下实例日志视图显示相同的应用程序的其他实例发送的消息。
这个例子演示了如何使用的QtSingleApplication类检测和交流使用的sendMessage(API)的应用程序的运行实例。一个QTextEdit日志显示接收到的消息(messageReceived)。

 #include <qtsingleapplication.h> #include <QtGui/QTextEdit> class TextEdit : public QTextEdit {     Q_OBJECT public:     TextEdit(QWidget *parent = 0)         : QTextEdit(parent)     {} public slots:     void append(const QString &str)     {         QTextEdit::append(str);     } }; #include "main.moc" int main(int argc, char **argv) {     QtSingleApplication instance(argc, argv);//立即创建一个QtSingleApplication对象     if (instance.sendMessage("Wake up!"))         return 0;//只允许一个实例     TextEdit logview;     logview.setReadOnly(true);     logview.show();//创建窗体!~     instance.setActivationWindow(&logview);     QObject::connect(&instance, SIGNAL(messageReceived(const QString&)),                      &logview, SLOT(append(const QString&)));     return instance.exec();//日志查看对象也被设置为应用程序的激活窗口。每次收到一条消息,该窗口将被提出并自动激活。//每接收到的消息将显示在日志中。//事件循环被输入。


学习的目标是成熟!~~~

源码包下载


原创粉丝点击