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库也是类似。
------------------------------------------------------------------------------------------------------------
作者:罗然
链接:http://www.zhihu.com/question/29030777/answer/42956588
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
用PySide,不要用PyQT,除非你想把你的产品GPL或者你准备花钱买商业版。
PySide不支持QT5,而且有好一阵子没更新了,不过用起来倒没什么大问题。
链接: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,而且有好一阵子没更新了,不过用起来倒没什么大问题。
相关文章推荐
- Lars Knoll 宣布了Qt 5有四大目标
- QT是否流行还是和历史有关啊(各个平台不同时间的方案都讲到了)
- Qt信号量QSemaphore(在线程里使用,结合生产者消费者的问题)
- 从零开始移植QT4.8.5之一--在windows下安装QT
- Qt中基于QGraphicsItem类的重载鼠标事件函数的教训
- qt 之 QFileSystemModel
- 分享一点在用Qt编写计算器的过程中所遇到的问题(主要是信号和槽的问题)大神们就没必要看了,都是一些小白摸爬打滚的经验
- qt 之 QPushbutton
- Qt之资源系统
- Qt之资源系统
- Qt之资源系统
- 实习项目——基于Qt5的银行排号叫号系统(客户端)
- Qt之加载QSS文件
- Qt之加载QSS文件
- Qt之加载QSS文件
- Ubuntu使用集成开发环境QT无法输入中文的解决方法
- 开源MQTT消息服务器
- Qt之QSS(白色靓丽)
- Qt之QSS(白色靓丽)
- Qt之QSS(白色靓丽)