怎么把qt的ui轉(zhuǎn)化為python python適合windows的桌面應(yīng)用程序開發(fā)嗎?
python適合windows的桌面應(yīng)用程序開發(fā)嗎?這個(gè)問(wèn)題爭(zhēng)議很大,很多人覺得不合適,但我個(gè)人覺得還是要看應(yīng)用場(chǎng)景。畢竟就算是js也能開發(fā)桌面應(yīng)用。Python是解釋性語(yǔ)言,效率真的很低,發(fā)布的時(shí)候
python適合windows的桌面應(yīng)用程序開發(fā)嗎?
這個(gè)問(wèn)題爭(zhēng)議很大,很多人覺得不合適,但我個(gè)人覺得還是要看應(yīng)用場(chǎng)景。畢竟就算是js也能開發(fā)桌面應(yīng)用。
Python是解釋性語(yǔ)言,效率真的很低,發(fā)布的時(shí)候很難加密。這對(duì)于服務(wù)器應(yīng)用來(lái)說(shuō)沒什么,但是對(duì)于C端應(yīng)用來(lái)說(shuō)就很麻煩了。不能很好地保護(hù)代碼意味著用戶可以很容易地獲取和篡改你的源代碼。目前有些工具可以二進(jìn)制發(fā)布python,但最后效果不大。
至于python能否開發(fā)windows桌面應(yīng)用,我個(gè)人認(rèn)為可以。python有很多接口庫(kù)可以用,包括pygame、kivy、pyqt等。目前最成熟的解決方案應(yīng)該是qt,它可以輕松解決跨平臺(tái)問(wèn)題,不需要綁定Windows平臺(tái)。不過(guò)qt是C寫的接口庫(kù)。雖然提供了很多方便的接口和工具,但是開發(fā)效率比較低,對(duì)開發(fā)者的素質(zhì)要求比較高。
Qt已經(jīng)通過(guò)商業(yè)應(yīng)用的測(cè)試,但是python s pyqt5真的很讓人頭疼,不過(guò)好在pyside2是lgpl正式推出發(fā)布的。雖然不包括所有的qt模塊,比如串口通信,但是不支持移動(dòng)發(fā)布等。,最常用的模塊已經(jīng)可用。
就我而言。;m關(guān)注,使用pyside2一段時(shí)間后,效率遠(yuǎn)高于C,個(gè)人認(rèn)為對(duì)于一些中等復(fù)雜的應(yīng)用,完全可以替代C,而不用擔(dān)心任何效率問(wèn)題。當(dāng)然,我個(gè)人還是保持和qt官方的界面一致,強(qiáng)烈推薦用qml代替widgets。小部件仍然由本地gui繪制,而QML使用opengl來(lái)充分利用硬件加速。
Python這幾年在服務(wù)器端也很活躍,證明其運(yùn)行效率沒有致命問(wèn)題。前幾年還說(shuō)java效率低,不能開發(fā)桌面應(yīng)用,但是java寫的ide,比如jetbrains,eclipse,還是被接受的,口碑也不錯(cuò)。
使用python開發(fā)桌面應(yīng)用的另一個(gè)好處是可以充分利用python資源,包括網(wǎng)絡(luò)協(xié)議、人工智能等。如果要用C的話,真的是累死人。
qt可以用python編寫嗎?
Qt可以調(diào)用python。
不過(guò)對(duì)于初學(xué)者來(lái)說(shuō),如果建議用python或者直接用pyqt,畢竟qt用的是C和QML。當(dāng)然,你要在現(xiàn)有的Qt項(xiàng)目中增加一些東西,建議放棄python。另外Qt的內(nèi)存消耗也不是我們用戶所擔(dān)心的,所以要盡量?jī)?yōu)化代碼,比如C中的函數(shù)盡量傳地址。