www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 技術(shù)讓夢(mèng)想更偉大
[導(dǎo)讀]關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容來(lái)源:嵌入式ARMQt一開(kāi)始是由奇趣公司開(kāi)發(fā)的,后來(lái)被Nokia收購(gòu)了,然后再被Digia收購(gòu)了。所以有的人會(huì)誤以為Qt就是為了塞班系統(tǒng)而生,是個(gè)落伍的產(chǎn)物。但是很多嵌入式軟件、桌面工具都是用Qt來(lái)開(kāi)發(fā)的,包括Quartus和Cadence也有用到Q...


來(lái)源:嵌入式ARM





Qt一開(kāi)始是由奇趣公司開(kāi)發(fā)的,后來(lái)被Nokia收購(gòu)了,然后再被Digia收購(gòu)了。所以有的人會(huì)誤以為Qt就是為了塞班系統(tǒng)而生,是個(gè)落伍的產(chǎn)物。



但是很多嵌入式軟件、桌面工具都是用Qt來(lái)開(kāi)發(fā)的,包括Quartus和Cadence也有用到Qt。


誠(chéng)然,Qt也是類似于C#、JAVA那樣,專門用來(lái)開(kāi)發(fā)圖形界面的,那么Qt有哪些特別的地方呢?以下,一一介紹。




1、Qt能在哪些平臺(tái)使用?


這里的平臺(tái)是指操作系統(tǒng),不是指CPU。Qt可以在Windows、Linux、Android、iOS、mac OS、QNX、VxWorks下使用。



把Linux移植到ARM上,也是能跑Qt開(kāi)發(fā)出來(lái)的軟件的。




2、Qt是開(kāi)源的,還是收費(fèi)的?


是開(kāi)源的,需要遵循LGPL、GPL協(xié)議。




3、Qt是使用什么語(yǔ)言開(kāi)發(fā)的?


建議底層用C 做業(yè)務(wù)邏輯,上層用QML做圖形界面。也可以純C 開(kāi)發(fā),但是做界面時(shí)會(huì)比較累。




4、什么是Qt Quick,什么是QML,兩者有什么關(guān)系?


Qt Quick只是一種技術(shù)名稱,它本身不指代任何語(yǔ)言,但是,當(dāng)別人說(shuō)到Qt Quick一般是指用QML快速開(kāi)發(fā)圖形界面。



QML是一種類似于CSS和JAVA Script的混合語(yǔ)言,語(yǔ)法非常簡(jiǎn)單易學(xué),適合沒(méi)什么編程經(jīng)驗(yàn)的人。




5、什么是Qt Creator?


Qt Creator是Qt官方的IDE,專門用Qt框架開(kāi)發(fā)圖形界面的。




6、除了Qt Creator,還有什么IDE可以用?


目前比較流行的是Visual Studio,簡(jiǎn)稱VS。Qt Creator一安裝好就能使用,但是VS是需要自己設(shè)置才可以用。




7、Qt Creator的原生編輯器有Vi / Vim模式嗎?


有,叫Fake Vim,按照下圖設(shè)置即可。




8、新手入門應(yīng)該學(xué)哪個(gè)版本的Qt?


應(yīng)該學(xué)最新的Qt5,推薦教材《Qt Creator快速入門》、《Qt Quick核心編程》,以及官方自帶的英文文檔。




9、哪里能找到Qt的官方文檔?


打開(kāi)Qt Creator,如下圖,Help,就是了。



有某些方法,文檔上并沒(méi)有寫,但是實(shí)際上是存在的。這時(shí)需要利用代碼補(bǔ)全。




10、什么是pyQt?


pyQt是指用python腳本語(yǔ)言來(lái)調(diào)用Qt框架,從而快速開(kāi)發(fā)圖形界面。但是商業(yè)使用pyQt,是要收費(fèi)的。



目前只有一本關(guān)于pyQt4的書——《PyQt編程指南》,但是現(xiàn)在最新的是pyQt5。



推薦《pyQt5參考手冊(cè)》、《PyQt5 tutorial》。




11、我現(xiàn)在只學(xué)習(xí)C、C 語(yǔ)法,不做圖形界面,可以使用Qt Creator編譯、運(yùn)行代碼嗎?


可以。Qt Creator自帶MinGW編譯器可以編譯C、C 。但不是所有從Qt官網(wǎng)下載的安裝包,都帶有MinGW編譯器,下載時(shí)需特別注意。


新建工程時(shí),使用以下工程模板即可。




12、如何使用Qt開(kāi)發(fā)3D圖形界面?


可以使用Open GL,請(qǐng)參考《QT OpenGL教程》。




13、為什么隨便寫一個(gè)Hello World,編譯出來(lái)都30幾MB?


因?yàn)镼t默認(rèn)使用動(dòng)態(tài)編譯,所以編譯出來(lái)體積超大??梢允褂肬PX壓縮殼。




14、怎樣使用Qt靜態(tài)編譯代碼?


請(qǐng)參考《Qt5.9.0 MingGW靜態(tài)編譯》,建議下載現(xiàn)成的靜態(tài)庫(kù)。


靜態(tài)編譯出來(lái)的文件非常大,建議使用UPX壓縮殼。


其中,靜態(tài)編譯Qt5.7.0,需要卸載VC6.0,否則config不過(guò)。




15、怎樣使用Qt發(fā)布應(yīng)用?


動(dòng)態(tài)編譯的話,可以使用Qt Creator自帶的windeployqt。


動(dòng)態(tài)編譯后,可以使用NSIS制作成安裝包。


靜態(tài)編譯,再加UPX壓縮殼,即可發(fā)布,而且是單一文件。




16、怎樣把Qt的代碼,移植到ARM?


你需要使用交叉編譯器Arm Gcc,并設(shè)置硬件相關(guān)的參數(shù)。




17、Qt用在Android、OS X上面多嗎?


不多,所以不建議使用Qt開(kāi)發(fā)Android、OS X的app。




18、Qt用在哪些地方比較多?


嵌入式開(kāi)發(fā)、桌面開(kāi)發(fā)。



19、哪里能下載到Qt?


https://www.qt.io/download-open-source/#section-2


在官網(wǎng)注冊(cè)賬號(hào),登錄,就可以在以上頁(yè)面下載Qt了。


不想注冊(cè)的話,也可以使用國(guó)內(nèi)的鏡像。


http://mirrors.ustc.edu.cn/qtproject/official_releases/qt/




20、Qt4和Qt5有什么區(qū)別?


Qt4一行代碼,即可全局支持中文,Qt5默認(rèn)支持中文。


Qt4不支持串口,需要使用第三方的串口庫(kù),Qt5支持串口。


此外,Qt4和Qt5還有很多區(qū)別,這里不一一列舉。




21、有哪些好用的Qt第三方庫(kù)?


第三方庫(kù),不是Qt官方開(kāi)發(fā)的,而是由其它組織開(kāi)發(fā)的。


比較出名的是QWT庫(kù),使用QWT庫(kù),可以輕松搞定各種圖形界面,如:餅狀圖、示波器圖、波特圖等。


然而,QT自帶的QtCharts比QWT庫(kù)還要好用。QtCharts支持C 和QML混合編程,而QWT只支持C 。


QWT已經(jīng)很久不更新了,所以,有的人會(huì)使用qcustomplot,它也是一個(gè)畫圖的第三方庫(kù)。




22、哪里可以在線瀏覽Qt的類?


http://doc.qt.io/qt-5/classes.html




23、哪里可以在線瀏覽Qml的類型?


http://doc.qt.io/qt-5/qmltypes.html




24、怎樣讀取USB設(shè)備的信息?


可以使用WIN32的API捕獲USB的消息(#include ),或者使用libusb。




25、哪些版本的QT可以支持XP系統(tǒng)?


Qt5.7.0及之前的版本都可以支持XP。Qt5.7.0可以直接支持XP,但是有可能會(huì)彈出警告。




26、如何設(shè)置全局快捷鍵、獲取全局鼠標(biāo)坐標(biāo)?


設(shè)置全局快捷鍵可以使用第三方庫(kù)qxtglobalshortcut。


獲取全局鼠標(biāo)坐標(biāo)可以用QCursor::pos()。




27、如何設(shè)置窗口快捷鍵,應(yīng)用程序快捷鍵?


C 的話,可以使用QShortCut類,QML可以使用ShortCut。


但是QShortCut和ShortCut,只在窗口或應(yīng)用程序在focus時(shí),才能使用快捷鍵,并非全局快捷鍵。




28、如何顯示系統(tǒng)托盤?


Qt5.8或以上版本,可以使用QML的SystemTrayIcon;或者使用C 的QSystemTrayIcon類。


Qt5.8以下的版本(不含5.8)只能使用C 的QSystemTrayIcon類。




29、Qt的動(dòng)態(tài)編譯文件太多,如何打包成一個(gè)文件?


使用Enigma Virtual Box,但是可能會(huì)被殺毒軟件殺掉。


使用NSIS制作成安裝包。


使用第14點(diǎn)的靜態(tài)編譯。




30、C 有哪些第三方庫(kù)?


除了C 自帶的庫(kù)(如STL庫(kù))以外的,還有第三方庫(kù)。


較為出名的是Boost庫(kù),推薦《Boost程序庫(kù)完全開(kāi)發(fā)指南》。




31、如何讓Qt運(yùn)行單一實(shí)例進(jìn)程?


可以使用QtSingleApplication。




32、如何實(shí)現(xiàn)命令行程序?


可以使用QCommandLineParser和QCommandLineOption。



????????????????  END  ????????????????



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。

技術(shù)讓夢(mèng)想更偉大

257 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉