大家是怎麼學習Pyqt5的?
發現Pyqt5資料就只有英文的官方文檔,大家都是看這個學習的嗎?
- 看官方文檔
- 看 Qt 教程,然後對應到 PyQt
- 看 PyQt4 的教程
- 看 PyQt4 對應 PyQt5 的改動說明,邊看邊寫
因為我不會 python,而 python 3 的資料還比較少(至少當時沒找到多少),所以我還看了:
- python 2.7 的教程和參考手冊
- python 3 對應 python 2 的改動說明,邊看邊寫
然後自己做學習筆記,大概像這樣:
筆記做的不多,就不貼出來獻醜了。其實當時是想自己學完也可以發出來造福大眾,後來因為各種原因耽擱了。翻翻Qt5手冊,看看PyQt5文檔里的一些Pythonic的改動(例如信號槽連接),然後就自然明白怎麼搞了。
看官方文檔。
我以前用過很長一段時間Qt,也算入門了。後來轉到PyQt就非常輕鬆了。
要注意PyQt5在PyQt4的基礎上做了很多變化,要理解信號與槽的機制。
- 推薦一個連載的帖子,講的很淺顯,適合初學者學習:[PyQt5學習與交流]PyQt5學習與交流,Python第三方庫安裝與使用,Python交流,魚C論壇 - Powered by Discuz!
- 還有一個視頻教程,但是是`Python2+ PyQt4` :
使用pyqt開發windows gui程序及打包: pyqt開發windows gui程序及打包-pyqt開發windows gui程序及打包教程-麥子學院
- 官方文檔,很詳細,可以做參考,PyQt5 Reference Guide PyQt5 Reference Guide
不得不說打臉了,
我以為論壇里的是官方的給出的代碼的python3和pyqt5可運行版本,,
結果到了第6章就沒有了,,我去gitup上找到了6-8章的代碼,9章以後的在gitup上也有,不過大神使用python2.X和qt5寫的,,醉了書上的代碼錯誤一大堆,pyqt5根本不可運行,給作者寫郵件也不回復
不得不說中國科研圈的售後要向淘寶學習啊,太差勁了不說了擼代碼去了,總體來說入門的話,前幾張確實可以學到不少東西,就是示例代碼要自己找,自己衡量吧。
==============
最近在學pyqt5,,自己處理數據,還要自己寫軟體後,再發表,真的是心累。推薦:《Python Qt GUI 快速編程》這本書,大部分是講GUI編程的,分析的也很好。本書是譯本,英文原版是pyqt4和python2.*,,但是譯本在http://www.qtcn.org/pyqtbook/,給出了代碼的pyqt5和python3.*實現的改動
我目前用到的幾個程序都在pyqt5和python3.5下親測可用。
我在京東買的,其他地方應該也有。。也就60+,如果不想買可以去http://www.qtcn.org/pyqtbook/找英文原版,提供下載了。
因為前一陣我也很迷茫,所以來推薦一下,方便以後的童小白找到知乎能多一個選擇,真的不是5毛黨~
利益相關:本書購買者。Archi - 博客園這個博客上有PyQt5的系列教程,挺不錯的
看PyQt5的examples的源碼,裡面的都是精華。慢慢看,然後把邏輯畫出來,畫出來非常清晰,也更容易記憶。
參考PyQt4教程 Python Programming Tutorials (+VPN 可看YouTube視頻教程) 學習,在編碼過程中若代碼運行出現的結果與預期不符,則參考 PyQT5 - Python Tutorial 和 PyQt5 Reference Guide,分析錯誤是否是由於PyQt5的新特性導致的。
另外可參考的資料:
PyQt5教程 learn GUI programming with PyQt5
PyQt5常式 PyQT5 - Python Tutorial
看官方的demo很有幫助, 很多代碼可以參考
目前熱門的有兩本《PyQt5快速開發與實戰》和《Python Qt GUI快速編程——PyQt編程指南》
第一本是2017年10月最近出版的,python3.x寫的;
第二本是用python2.x和PyQt4開發的,所以用新版本的人兒要注意;
CSDN裡面也有很多簡單教程,缺點是沒那麼系統;
官網教程PyQT5 - Python Tutorial 訓練量不多;
最後都避免不了要到官方文檔(C++例子介紹,我也懵)查看信息:All Classes | Qt 5.9
Pyqt5聽說有幾千函數,不是天才不可能全都掌握吧,個人認為,先把握幾大常用類的關係,然後了解常用部件,類的應該具有的方法,該用時候就查資料,現在的程序員比過去的方便多了
寫過qt的表示pyqt5真是太好用了,除開一些python的特有語法,pyqt5的寫法其實跟以前在C++中寫起來區別非常小。
推薦閱讀:
※C++的模板元編程是否降低運行效率?
※如何控制python多線程的退出?
※為什麼黑暗之魂3創建了一個新角色之後存檔尺寸沒有發生變化?
※Haskell有哪些提高效率的技巧?
※哪款滑鼠非常適合編程寫代碼?