Qt編程可不可以結合其他的第三方庫和本土API?

比如,像boost,lokia,或者一起些其他的庫,或者結合一些WindowsAPI(不考慮跨平台),可不可以添加到qt中一起混合使用?


可以,十分可以,你可以直接包含別人的源碼,或者調用庫。

給你幾個我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


C++可以怎麼搞,就可以怎麼搞


我說說第三方類庫的載入吧(但我覺得系統API部分也是一樣的),其實很容易啊。只需要在.pro文件中配置一下路徑就可以了吧,難道我理解有問題?

我在qt中使用過python。翻出pro來看了一眼,喏,就是這樣。boost庫也是類似。

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


當然可以啊,Qt又沒有脫離c++的範疇


可以。

之前做課程設計的時候用Qt做界面,第三方庫用了Winpcap。開發環境是VS2013(裝了Qt的插件)。只要你把包含路徑還有庫的文件在工程屬性里設置好就可以。


有頭文件加庫還有什麼不可以呢


推薦閱讀:

為什麼代碼中的comp函數只需返回0就可以表示兩串相同?
如何看待微軟自己的產品不用自己的庫寫而用Qt寫?
看完《C++ Primer》和《Effective C++》能找到一份起薪 5000 元以上的工作嗎?
C++ deallocate(pointer p,size_type n)第二個參數問題?
C++能勝任C的所有工作嗎?不行,有哪些?

TAG:圖形用戶界面 | QtC開發框架 | C |