pyqt4擴充套件 新增qtcanvas模組

2021-04-06 20:50:06 字數 1493 閱讀 5587

qt4是乙個gui庫,相比qt3,在console程式的編寫方面有了很大的改進。python是乙個物件導向的指令碼解釋語言,程式非常簡潔優美,二者結合必將帶來效率的極大提公升,python比較適合快速開發,程式測試,等等

python支援對於c/c++的擴充套件,例如使用swig,在安裝了pyqt4後,當然就使用pyqt4使用的sip,簡單、對qt的支援也非常好。

class word ;

編寫sip檔案:

word.sip

%module word 0

class word ;

就這麼簡單,你可以手動的使用sip命令來生成cpp檔案,當然sip模組已經包含了更簡單的方法:

編寫配置模組:configure.py

import os

import sipconfig

build_file = "word.sbf"

config = sipconfig.configuration()

os.system(" ".join([config.sip_bin, "-c", ".", "-b", build_file, "word.sip"]))

makefile = sipconfig.sipmodulemakefile(config, build_file)

makefile.extra_libs = ["word"]

makefile.generate()

ok,執行configure.py看看吧,makefile已經生成。下面僅僅make即可。然後你就可以在自己的py程式裡使用word模組了。

qt的canvas模組是個很實用的模組,隨著qt4.0,4.1,雖然trolltech一再宣稱下一版本發布,至少到目前qt4.12還沒有支援,而其發布的qtcanvas也只是乙個過渡產品,在qt4下面效率據說不怎麼樣。

但不管怎麼樣,先把qtcanva安裝,並且通過sip與python繫結,由於目前pyqt4還不完善,文件更是匱乏,不過還好參考qt3的pycanvas,很快就編譯完了。

0、前提:安裝qt4,python2.4,sip4,pyqt4,並且把qtcanvas編譯為靜態庫

1、編寫qtcanvas.sip,參照qt3的sip檔案,根據錯誤提示,修改部分內容即可

2、編寫configure.py,由於sip自帶的qt的例子是還是針對qt3的,所以更改部分內容:

qt_sip_flags = config.pyqt_sip_flags

makefile = pyqtconfig.qtguimodulemakefile (...)

makefile.extra_libs = ["qtcanvas"] #提供包裝的qtcanvas.lib

3、ok,執行configure.py,   make.  qtcanvas.pyd(.so)產生了

4、執行make install或者copy qtcanvas.pyd到適當的目錄即可。

然後馬上寫個例子來測試:

ok,視窗出現了,畫了個矩形,還有乙個『hello world!』的文字......

pyqt4學習筆記

訊號與槽機制作為qt最重要的特性,提供了任意兩個qt物件之間的通訊機制。其中,訊號會在某個特定情況或動作下被觸發,槽是用於接收並處理訊號的函式。例如,要將乙個視窗中的變化情況通知給另乙個視窗,則乙個視窗傳送訊號,另乙個視窗的槽接收此訊號並進行相應的操作,即可實現兩個視窗之間的通訊。這比傳統的圖形化程...

PyQt4學習資料彙總

乙個月前研究了下pyqt4,感覺比較不錯。相比wxpython,介面美觀了很多,並且將介面設計與 邏輯很好的分離了開來。關於pyqt4的資料也不少,這裡我將我找到的資料彙總一下,以防自己以後忘得一乾二淨。1.pyqt4資料鏈結 2.寫 時,最好的幫助文件 static docs pyqt4 html...

PyQt4學習資料彙總

乙個月前研究了下pyqt4,感覺比較不錯。相比wxpython,介面美觀了很多,並且將介面設計與 邏輯很好的分離了開來。關於pyqt4的資料也不少,這裡我將我找到的資料彙總一下,以防自己以後忘得一乾二淨。1.pyqt4資料鏈結 2.寫 時,最好的幫助文件 static docs pyqt4 html...