• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            程序讓生活更美好

            半畝方塘 天光云影

              C++博客 ::  :: 新隨筆 :: 聯系 ::  :: 管理 ::
              55 隨筆 :: 4 文章 :: 202 評論 :: 0 Trackbacks
            現在在學習QT界面開發,在windows環境下裝了vc6和QT3.3.4版本的開發包,裝好之后就可以在VC集成開發環境下產生一個工具欄進行QT開發了。在學習書上例子的時候,總是有些代碼中要使用到Q_OBJECT宏,這樣才可以使用自定義的signal還有slot了,不過試了好多次都編譯不成功,好像是需要什么moc編譯,真是暈,書上也沒有說這個,那些自帶的例子都是可以編譯的,直接用工具欄上面的那個moc也不管用,要是你知道你就告訴我下怎么用。

            查了下資料,moc就是元對象編程。

            元對象編譯器讀取一個C++源文件。如果它發現其中的一個或多個類的聲明中含有Q_OBJECT宏,它就會給這個使用Q_OBJECT宏的類生成另外一個包含元對象代碼的C++源文件。尤其是,元對象代碼對信號/槽機制、運行時類型信息和動態屬性系統是需要的。
            一個被元對象編譯器生成的C++源文件必須和這個類的實現一起被編譯和連接(或者它被包含到(#include)這個類的源文件中)。
            如果你是用qmake來生成你的Makefile文件,當需要的時候,編譯規則中需要包含調用元對象編譯器,所以你不需要直接使用元對象編譯器。

            這里提供一種方法:類的聲明放在一個頭文件(.h文件)中
            如果在上述的文件myclass.h中發現類的聲明,元對象編譯器的輸出文件將會被放在一個叫moc_myclass.cpp的文件中。這個文件將會像通常情況一樣被編譯,作為對象文件的結果是moc_myclass.o(在Unix下)或者moc_myclass.obj(在Windows下)。這個對象接著將會被包含到一個對象文件列表中,它們將會在程序的最后連編階段被連接在一起。

            然后在
            (1)在FileView視圖中 右鍵點擊需要產生MOC文件的頭文件(就是類中包含Q_OBJECT宏,如果沒有這個宏就不需要產生MOC文件)

            (2)在右鍵菜單中選擇Setting...

            (3)選擇Custom Build,在Commands欄中輸入:
            %QTDIR%\bin\moc.exe $(InputDir)\$(InputName).h -o $(InputDir)\moc_$(InputName).cpp

            Outputs中輸入:
            $(InputDir)\moc_$(InputName).cpp

            (4)然后右鍵這個頭文件編譯


            (5)最后生成一個 moc編譯產生的cpp源文件


            這樣編譯時就會在當前工程目錄中自動生成MOC文件了

            本文參考 qt文檔以及http://www.qobject.com/read.php?fid=46&tid=2296&toread=1 的文章。

            謝謝!



            posted on 2007-08-13 21:32 北風之神007 閱讀(3494) 評論(0)  編輯 收藏 引用 所屬分類: QT
            狠狠色丁香婷婷久久综合五月| 日日狠狠久久偷偷色综合0| 久久久免费精品re6| 97久久精品国产精品青草| 99久久人人爽亚洲精品美女| 久久综合五月丁香久久激情| 久久精品国产亚洲αv忘忧草| 久久99精品久久久久久久久久| 国产精品久久久久久久午夜片 | 久久久久久av无码免费看大片| 久久久久亚洲AV无码专区首JN| 国产成人久久精品区一区二区| 青青草国产97免久久费观看| 97久久香蕉国产线看观看| 久久久无码精品亚洲日韩京东传媒| 久久国产精品-久久精品| 波多野结衣久久一区二区| 久久se精品一区二区影院| 精品久久久无码人妻中文字幕豆芽 | 久久久久久夜精品精品免费啦| 久久久WWW成人免费毛片| 99久久777色| 波多野结衣中文字幕久久| 日韩人妻无码精品久久免费一 | 2021精品国产综合久久| 狠狠综合久久AV一区二区三区| 久久亚洲2019中文字幕| 国产—久久香蕉国产线看观看| 999久久久无码国产精品| 精品国产一区二区三区久久久狼| 色诱久久久久综合网ywww| 亚洲国产精品无码久久久秋霞2 | 青青热久久国产久精品 | 久久精品成人免费观看97| 亚洲伊人久久大香线蕉苏妲己| 久久国产成人精品麻豆| 久久最新精品国产| 国产精品丝袜久久久久久不卡| 国产精品久久久久久久午夜片 | 久久久青草久久久青草| 99久久伊人精品综合观看|