介紹一個基於QT的原始碼編輯器控制元件QScintilla
轉 :
pc的部落格
什麼是QScintilla?
QScintilla is a port to Qt of Neil Hodgson’s Scintilla C++ editor control.
QScintilla是Scintilla在QT上的移植,Scintilla是一個免費的原始碼編輯控制元件,它完全開放原始碼,功能強大,包括程式碼高亮,程式碼補全,程式碼摺疊,自動縮排,程式碼提示等,支援非常多的語言,可以輕鬆實現顯示斷點,顯示執行行等,定義各種樣式都很輕鬆方便。著名的開源編輯器SciTE就是Scintilla開發者開發的。
如何安裝QScintilla
首先下載地址在http://www.riverbankcomputing.com/software/qscintilla/download
解壓原始碼包後在/doc/html-Qt4Qt5/index.html中可以找到安裝指南,在linux下直接make和make install就好了,如果是在windows下開發,首先根據你使用的C++的編譯器來確定,由於我用的是VS2008,可以在VS的安裝資料夾下的 /VC/bin/nmake.exe,使用nmake來代替make,如果你沒設定好環境變數的話,設定/VC/bin/vcvars32.bat可以幫你設定好環境變數.
install後一堆QSCI的include檔案會移到QT的include裡,同時會生成幾個dll檔案,移到相應的編譯器的bin目錄和lib目錄下即可
QScintilla使用
我下載的是最新的QScintilla2,其中最主要的類是QsciScintilla。使用QsciScintilla時需要把他的dll加入到工程中,QT是通過編輯.pro檔案,在其後加入LIBS += -lqscintilla2即可。這個類的例項化相當於QT中ui裡的textEdit,其他具體的使用查下文件都較為容易,不過安裝QScintilla時會導致QT的ui檔案不能自動生成.h檔案,我們都是靠命令列手動轉化成.h的標頭檔案。