• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺析QT入門之信號與槽機制

      2016-02-02 13:07:10賀志朋
      山東工業(yè)技術(shù) 2016年22期
      關(guān)鍵詞:聲明按鈕蘇州

      賀志朋

      (蘇州健雄職業(yè)技術(shù)學院,江蘇 蘇州 215411)

      淺析QT入門之信號與槽機制

      賀志朋

      (蘇州健雄職業(yè)技術(shù)學院,江蘇 蘇州 215411)

      QT是一個跨平臺的C++ GUI應(yīng)用構(gòu)架,信號與槽機制是其核心機制。要精通QT編程的前提就是就對信號和槽有所了解。本文對QT里信號與槽機制最常見的三種應(yīng)用方式做了分析,指出它們在應(yīng)用中的不同之處,便于我們加深對QT的信號與槽機制的理解。

      信號;槽;QT

      1 基本概念

      1.1 信號

      一個對象要發(fā)射某個信號,只有當此信號的內(nèi)部狀態(tài)發(fā)生改變時才會被發(fā)射。同時能夠發(fā)射這個信號的對象必須是定義過這個信號的類及其派生類。當發(fā)射一個信號時,將立刻執(zhí)行和此信號相關(guān)聯(lián)的槽,和調(diào)用一個正常函數(shù)一樣。任何 GUI 事件循環(huán)完全獨立于信號與槽機制之外。發(fā)射函數(shù)(emit)是等所有的槽返回以后才返回。 如果某個信號和多個槽相關(guān)聯(lián),當發(fā)射這個信號時,將依次地去執(zhí)行這些槽,但執(zhí)行這些的順序?qū)⑹遣淮_定的、隨機的。在頭文件里進行信號的聲明的,當信號聲明區(qū)指出已進入了QT的signals關(guān)鍵字,自己的信號隨后即可被聲明。

      1.2 槽

      C++普通成員函數(shù)之一就是槽,可以正常調(diào)用槽,多種信號可以與槽相關(guān)聯(lián)是槽的唯一特殊性。當發(fā)射與槽關(guān)聯(lián)的信號時,就會調(diào)用該槽。槽能帶參數(shù),但是屬于槽的參數(shù)不能缺省。槽屬于普通成員函數(shù)的一員,它們也有存取權(quán)限。是否能夠與其相關(guān)聯(lián)取決于槽的存取權(quán)限。槽函數(shù)也分為三種類型,即protected slots、public slots 和private slots。最后進行槽的聲明也是在頭文件中。

      2 信號與槽的三種應(yīng)用方式

      以單擊窗口上的一個按鈕要彈出一個對話框為例:

      把新建QT項目的常規(guī)流程完成以后,如果想實現(xiàn)點擊按鈕彈出對話框的效果,可以先在頭文件的類聲明中進行槽聲明,見圖1,然后到源文件中進行糟定義,見圖2。最后在構(gòu)造函數(shù)里進行信號與槽的鏈接,見圖3.

      把新建QT項目的常規(guī)流程完成以后,可以先在設(shè)計視圖下選中按鈕進行相應(yīng)的轉(zhuǎn)槽處理,見圖4,然后到自動生成的槽函數(shù)中進行槽定義即可。見圖2。.

      把新建QT項目的常規(guī)流程完成以后,可以先在設(shè)計視圖下單擊設(shè)計器上方的“編輯信號與槽”圖標,進入部件的信號和槽的編輯模式再進行相應(yīng)的操作即可,見圖5。

      3 總結(jié)

      本文主要闡述了QT中信號與槽應(yīng)用的三種方式,第一種方式需要進行槽聲明,定義槽的實現(xiàn)并把信號和槽進行關(guān)聯(lián),這種方式稍顯繁瑣,但便于理解,適合初學者使用;第二種方式直接對部件進行轉(zhuǎn)槽處理,自動添加槽聲明、生成槽定義實現(xiàn)函數(shù)并自動進行信號與槽的鏈接,只需添加槽實現(xiàn)代碼即可,這種方式操作簡單,但不好理解其具體內(nèi)涵,適合對QT有一定研究者使用;第三種方式是在設(shè)計器中進行,這個與手寫函數(shù)是一樣的,它用的也是自動關(guān)聯(lián),也會自動添加槽聲明。通過這三種方式的比較,我們對QT的核心機制:信號與槽機制有一個整體把握,借此為對QT的進一步學習研究打下一個良好的基礎(chǔ)。

      [1]霍亞飛.QT Creator 快速入門[M].4版.北京.北京航天航空大學出版社,2016 .

      [2]AP Witkin.Space-scale filtering[C].In Proc.Of IJCAI, 1983:1019-1021.

      [3]J Koenderink.The structure of image [J].Biological Cybern ation,1984,50(06):363-370.

      [4]P Perona and J Malik.Scale-Space and edge detection using anisotropic diffusion [J].IEEE Trans.PAMI,1990,12(07):629-639.

      10.16640/j.cnki.37-1222/t.2016.22.122

      猜你喜歡
      聲明按鈕蘇州
      哪個是門鈴真正的按鈕
      當你面前有個按鈕
      本刊聲明
      本刊聲明
      中國德育(2022年12期)2022-08-22 06:16:46
      本刊聲明
      本刊聲明
      死循環(huán)
      蘇州一光
      蘇州十二憶
      蘇州雜志(2016年6期)2016-02-28 16:32:21
      內(nèi)心不能碰的按鈕
      黔西县| 清流县| 阿拉善盟| 汝州市| 兴安盟| 莒南县| 雅江县| 客服| 建昌县| 兰溪市| 禹城市| 津市市| 湖南省| 册亨县| 五华县| 海南省| 安仁县| 江陵县| 固始县| 芜湖市| 南平市| 和林格尔县| 丰原市| 禹城市| 斗六市| 大邑县| 建阳市| 保山市| 隆子县| 万年县| 威宁| 荆州市| 平遥县| 象州县| 光泽县| 时尚| 丰城市| 嘉黎县| 扎鲁特旗| 防城港市| 昆明市|