操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    源代碼已上傳,有需要可以下載:

    源代碼

    0.開發(fā)環(huán)境

    看了那么多博客,沒幾個說明自己的開發(fā)環(huán)境的,所以開頭先說明一下這個代碼編輯器的開發(fā)環(huán)境

    系統(tǒng) .5

    內(nèi)核

    Qt版本 5.8.0

    1.編輯器預(yù)覽

    下面進入正文,先來看一下這個編輯器的基本情況

    有基本的語法高亮\自動補全\換行縮進\括號匹配.

    菜單欄有基本功能的實現(xiàn),能選擇不同的語言來進行語法高亮.

    基本上實現(xiàn)了一個代碼編輯器的基本功能.

    接下來將從代碼編輯器主體的實現(xiàn)和菜單欄的實現(xiàn)開始說.

    2.項目的創(chuàng)建

    建立一個Qt .

    設(shè)置默認.

    3.庫介紹

    語法高亮\自動補全\換行縮進\括號匹配\行號顯示的功能主要由一個重要的外部庫實現(xiàn)--

    官網(wǎng):

    Qt下這個庫叫

    下載:

    說明文檔:

    功能的實現(xiàn)主要參照了兩人的博客,在此非常感謝(ps:兩人的都打錯了)

    Qt文本高亮控件的用法

    Qt中文本編輯器實現(xiàn)語法高亮功能()

    apriori算法c語言實現(xiàn)_c語言文本文件的讀取_c語言實現(xiàn)文本編輯器

    在此要修正一下兩個博客說到的的配置問題

    在.pro文件添加頭文件以及動態(tài)鏈接庫的引用:

    += 文件夾的地址

    然后Qt中右鍵工程選擇添加外部庫

    選擇編譯生成的.a文件.

    這樣pro文件就添加了外部庫的內(nèi)容.

    4.實現(xiàn) 語法高亮\自動補全\換行縮進\括號匹配\行號顯示

    代碼實現(xiàn)編輯器主體的界面

    //.h

    class :

    {

    :

    ( * = 0);

    //~();

    *(){ //返回的對象指針

    ;

    }

    void (const &);//設(shè)置不同語言的詞法分析器

    :

    *=new (this);

    };

    #endif //

    源文件實現(xiàn)類的構(gòu)造函數(shù)和設(shè)置詞法分析器函數(shù)

    構(gòu)造函數(shù)先實現(xiàn)行號提示\界面顯示\字體和編碼方式編碼方式設(shè)置為UTF-8,不然中文會亂碼設(shè)置編碼格式還有其他更簡短的函數(shù)實現(xiàn),具體查看庫的說明文件.

    //行號提示

    ->(0,::);//設(shè)置編號為0的頁邊顯示行號。

    ->(0,true);//對該頁邊啟用行號

    ->(0,15);//設(shè)置頁邊寬度

    c語言實現(xiàn)文本編輯器_c語言文本文件的讀取_apriori算法c語言實現(xiàn)

    //界面

    * = new (this);

    ->();

    ->(0,0,0,0);

    //設(shè)置顯示字體

    ->(QFont(" 10 Pitch"));

    //設(shè)置編碼方式

    ->(::,::);//設(shè)置編碼為UTF-8

    下面是函數(shù)內(nèi)的函數(shù)的實現(xiàn)

    設(shè)置詞法分析器函數(shù)

    *;

    = new ;

    ->();//給設(shè)置詞法分析器

    先設(shè)置好詞法分析器再設(shè)置代碼提示等功能

    //代碼提示

    *apis = new ();

    apis->();

    ->rce(::); //設(shè)置源c語言實現(xiàn)文本編輯器c語言實現(xiàn)文本編輯器,自動補全所有地方出現(xiàn)的

    ->(true); //設(shè)置自動補全大小寫敏感

    ->(2); //設(shè)置每輸入2個字符就會出現(xiàn)自動補全的提示

    //設(shè)置自動縮進

    ->(true);

    //顯示選中行號

    ->(true);

    ->(Qt::);

    // or , to , this of .

    ->(true);

    //顯示行號背景顏色

    //->Color(Qt::gray);

    //It is if an is being used. The is blue.

    apriori算法c語言實現(xiàn)_c語言實現(xiàn)文本編輯器_c語言文本文件的讀取

    ->(Qt::blue);

    //括號匹配

    ->(::);

    至此代碼編輯器的功能基本實現(xiàn)

    5.的基本設(shè)置

    構(gòu)造函數(shù)要加上對象和當前文本的文件名

    :

    *=new (this);

    ;//當前文本的文件名

    對應(yīng)的構(gòu)造函數(shù)實現(xiàn)要加上

    (tr("Qt代碼編輯器"));

    this->(QSize(600,500)); //設(shè)置初始窗口大小

    (); //設(shè)主體為代碼編輯器

    其他基本為槽函數(shù),下面會講到

    6.文件功能的實現(xiàn) 新建\打開\保存\另存為\關(guān)閉

    這里就用到了的功能函數(shù).

    具體功能的實現(xiàn)參照了下面的博客

    [轉(zhuǎn)載]Qt -- 實現(xiàn)文本新建/打開/保存/另存

    沒改動的地方就不貼出來了

    #1 基本上.()對象改為

    ->()

    #2 打開函數(shù)(非槽函數(shù))實現(xiàn)

    void ::(const &)

    {

    QFile file();

    ->();

    if(!file.open(QFile::|QFile::Text))

    {

    ::(this,

    "",

    c語言文本文件的讀取_c語言實現(xiàn)文本編輯器_apriori算法c語言實現(xiàn)

    " read file"

    );

    ;

    }

    else

    {

    in(&file);

    ->()->(in.());

    ();

    }

    }

    增加了根據(jù)文件名設(shè)置語法分析器

    ->();

    *注意 這是類中的函數(shù),修改上面類中的函數(shù)實現(xiàn)根據(jù)不同文件名的后綴來實現(xiàn)不同語言的詞法分析器.

    修改.(in.())為

    ->()->(in.());

    #3 另存為函數(shù)

    bool ::()

    {

    ;

    =::(this,

    ::("文件另存為"),

    "",

    tr(" Files(*);;text(*.txt);;C(*.cpp);;(*.py);;Java(*.java);;HTML(*html)"),

    &

    );

    if(.("text")&&!.(".txt")){

    +=".txt";

    }

    if(.("C")&&!.(".cpp")){

    apriori算法c語言實現(xiàn)_c語言實現(xiàn)文本編輯器_c語言文本文件的讀取

    +=".cpp";

    }

    if(.("")&&!.(".py")){

    +=".py";

    }

    if(.("Java")&&!.(".java")){

    +=".py";

    }

    if(.("HTML")&&!.(".html")){

    +=".py";

    }

    if(.())

    false;

    else if(())

    ();

    else false;

    }

    第七行函數(shù)可以實現(xiàn)在保存的時候選擇不同的文件類型

    選擇的類型字符串保存在第八行的中對

    之后的代碼根據(jù)而在保存的文件中添加后綴來更改文件類型

    7.菜單欄增加對不同語言的選擇以實現(xiàn)對不同語言的語法高亮

    做法和在菜單欄增添打開\保存等功能的做法大同小異

    語言選擇的槽函數(shù)(以c為例)

    void (){

    ->(".cpp");

    }

    這樣就可以實現(xiàn)語言的選擇

    8.總結(jié)

    主要需要熟悉庫的使用

    難度不大但不能只依賴庫函數(shù)

    要結(jié)合自己本身c語言的知識

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有