2011-07-11 90 views
1

好吧。再次,我有一些問題。基本上我做了兩件事。 Autotabbing當你做這對於例如,如果()按Enter鍵,你去下一行,但你不這樣做的標籤,使它看起來像這樣:Autotabbing&檢查變量是否定義

if(a=1) 
    //Basically, the line tabbed 

而且系統檢查定義一個變量。喜歡的話,做的事:

QString Haha = "Haha"; 
Haha.blabla(); 

好了,基本上當你不定義「的QString哈哈」的Haha.blabla不會是彩色的。任何想法如何檢查X變量是否已被定義?

謝謝!

回答

3

如果您打算做一個全功能的代碼編輯器,您確實需要實現編輯後的編程語言的解析。這意味着很多工作。例如,QtCreator解析C++和QtCreator的源代碼是可用的,所以你可以檢查需要多少工作。

您可以使用QSyntaxHighlighter做一個簡單的模式匹配語法着色。

1

關於autotabbing,你可以試試看keyPressEvent

[編輯]
刪除了關於變量定義的部分,因爲我的帖子寫錯了,對不起。 由Roku鏈接的語法高亮度類可能會爲語法高亮提供最佳效果;-)