您的位置:首页 > 编程语言 > Qt开发

Qt编程可不可以结合其他的第三方库和本土API?(有zeroMQ的Qt封装,还可轻易使用Python的库)

2016-07-22 20:39 781 查看
作者:渡世白玉
链接:http://www.zhihu.com/question/29030777/answer/59378712
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

可以,十分可以,你可以直接包含别人的源码,或者调用库。
给你几个我github上的别的库的封装:
QAsioSocket:Qt的ASIO(封装)替换Qt低效的QTcpServer:dushibaiyu/QAsioSocket · GitHub
QLib7Z:Qt的7z SDK的封装,解压压缩7z:dushibaiyu/QLib7z · GitHub
QAes:Qt的aes加密解密封装:dushibaiyu/QAes · GitHub
QRunInfo:Qt获取系统信息的封装:dushibaiyu/QRunInfo · GitHub
然后我用过的:
nzmqt:zeroMQ的Qt封装:jonnydee/nzmqt · GitHub
qt_eventdispatcher_libev:libev-based event dispatcher for Qt :sjinks/qt_eventdispatcher_libev · GitHub
Quazip:zlib的Qt封装,压缩解压zip:http://quazip.sourceforge.net/

还有很多呢、、
国人还有个QtAV:封装的FFMPEG,代替Qt多媒体组建:wang-bin/QtAV · GitHub
如果你是指库怎么加载,上面有说了。
事件循环的注意事项上面也有。

------------------------------------------------------------------------------------------------------------
可以参考一下QPA部分,那里基本是Qt和操作系统API集成的主要部分。

第三方库如果没有自己的事件循环的话,集成工作一般都比较简单。有事件循环的,还需要特别处理一下。如果不需要在主线程的话,就开一个线程跑第三方的事件循环;如果必须在主线程的话,就需要和Qt的事件循环一起工作,可以参考QEventDispatcherGlib https://github.com/qtproject/qtbase/blob/dev/src/corelib/kernel/qeventdispatcher_glib_p.h

作者:齐亮
链接:http://www.zhihu.com/question/29030777/answer/42948399
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

------------------------------------------------------------------------------------------------------------

我说说第三方类库的加载吧(但我觉得系统API部分也是一样的),其实很容易啊。只需要在.pro文件中配置一下路径就可以了吧,难道我理解有问题?
我在qt中使用过python。翻出pro来看了一眼,喏,就是这样。boost库也是类似。

INCLUDEPATH += D:\\python27\\include
LIBS += -LD:\\python27\\libs -lpython27


------------------------------------------------------------------------------------------------------------
作者:罗然
链接:http://www.zhihu.com/question/29030777/answer/42956588
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

用PySide,不要用PyQT,除非你想把你的产品GPL或者你准备花钱买商业版。

PySide不支持QT5,而且有好一阵子没更新了,不过用起来倒没什么大问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: