ÈÕÆÚ£º2011-03-22 13:54:00  À´Ô´£º±¾Õ¾ÕûÀí

Qtѧϰ֮·(10):Meta-Objectϵͳ[VC/C++±à³Ì]

ÔÞÖúÉÌÁ´½Ó



¡¡¡¡±¾ÎÄ¡°Qtѧϰ֮·(10):Meta-Objectϵͳ[VC/C++±à³Ì]¡±ÊÇÓÉÆßµÀÆæΪÄú¾«ÐÄÊÕ¼¯£¬À´Ô´ÓÚÍøÂçתÔØ£¬ÎÄÕ°æȨ¹éÎÄÕÂ×÷ÕßËùÓУ¬±¾Õ¾²»¶ÔÆä¹ÛµãÒÔ¼°ÄÚÈÝ×öÈκÎÆÀ¼Û£¬Çë¶ÁÕß×ÔÐÐÅжϣ¬ÒÔÏÂÊÇÆä¾ßÌåÄÚÈÝ£º

Ç°Ãæ˵¹ý,QtÀûÓõÄÊÇ×Ô¼ºµÄÔ¤±àÒëÆ÷,Ëü¹©Ó¦Á˶ÔC++µÄÒ»ÖÖÀ©´ó.²Ù×ÝQtµÄÐźŲۻúÖÆ,±ã¿ÉÒ԰ѱ˴˶ÀÁ¢µÄÄ£¿é±Ë´ËÏνÓÆðÀ´,²»ÐèÇóʵÏÖÖªµÀÄ£¿éµÄÈκÎϸ½Ú.

ΪÁ˵½´ïÕâ¸öÄ¿µÄ,QtÌá³öÁËÒ»¸öMeta-Objectϵͳ.Ëü¹©Ó¦ÁËÁ½¸ö¹Ø¼üµÄ×÷ÓÃ:ÐźŲۺÍÄÚÊ¡.

ÃæÏò¶ÔÏó³ÌÐò¼Æ»®ÀïÃæ»á½²µ½SmalltalkÓïÑÔÓÐÒ»¸öÔªÀàϵͳ.ËùνԪÀà,¾ÍÊÇÕâÀïËù˵µÄMeta-Class.¼ÙÈçд¹ýHTML,»áÖªµÀ HTML±êÇ©ÀïÃæÒ²ÓÐÒ»¸ö<meta>,ÕâÊÇÓÃÓÚ²ûÃ÷Ò³ÃæµÄijЩÊôÐÔµÄ.Ò»Ñù,QtµÄMeta-ObjectϵͳҲÊǽüËƵÄ×÷ÓÃ.ÄÚÊ¡ÓÖ³ÆΪ·´Éä,´ðÓ¦³ÌÐòÔÚÔËÐÐʱµÃµ½ÀàµÄÏà¹ØÐÅÏ¢,Ò²¾ÍÊÇmeta-information.ʲôÊÇmeta-informationÄØ?¾ÙÀýÀ´Ëµ,ÏñÕâ¸öÀà½ÐʲôÃû×Ö?ËüÓÐʲôÊôÐÔ?ÓÐʲô°ì·¨?ËüµÄÐźÅÁбí?ËüµÄ²ÛÁбí?µÈµÈÕâЩÐÅÏ¢,¾ÍÊÇÕâ¸öÀàµÄmeta-information,Ò²¾ÍÊÇ“ÔªÐÅÏ¢”.Õâ¸ö»úÖÆ»¹¹©Ó¦Á˶Թú¼Ê»¯µÄÖ§³Ö,ÊÇQSA(Qt Script for Application)µÄµ××Ó.

³ß¶ÈC++²¢Ã»ÓÐQtµÄmeta-informationËùÐèÇóµÄ¶¯Ì¬meta-information.ËùÒÔ,Qt¹©Ó¦ÁËÒ»¸ö¶ÀÁ¢µÄ¹¤¾ß,moc,ͨ¹ý¶¨ÒåQ_OBJECTºêʵÏÖµ½³ß¶ÈC++º¯ÊýµÄ¸Ä±ä.mocÀûÓô¿C++ʵÏÖµÄ,Òò´Ë¿ÉÒÔÔÙÈκαàÒëÆ÷ÖÐÀûÓÃ.

ÕâÖÖ»úÖƹ¤×÷Àú³ÌÊÇ:

Ê×ÏÈ,Q_OBJECTºêÉùÃ÷ÁËһЩQObject×ÓÀà±ØÐëʵÏÖµÄÄÚÊ¡µÄº¯Êý,ÈçmetaObject(),tr(),qt_metacall()µÈ;

µÚ¶þ,QtµÄmoc¹¤¾ßʵÏÖQ_OBJECTºêÉùÃ÷µÄº¯ÊýºÍÈ«²¿ÐźÅ;

µÚÈý,QObject³ÉÔ±º¯Êýconnect()ºÍdisconnect()ÀûÓÃÕâЩÄÚÊ¡º¯ÊýʵÏÖÐźŲ۵ÄÏνÓ.

ÒÔÉÏÕâЩÀú³ÌÊÇqmake,mocºÍQObject×Ô¶¯´¦ÀíµÄ,Äã²»ÐèÇóÈ¥¿¼ÂÇËüÃÇ.¼ÙÕÕʵÏÖºÃÆæµÄ»°,¿ÉÒÔͨ¹ý²é¿´QMetaObjectµÄÎĵµºÍmocµÄÔ´´úÂëÀ´Ò»¶Ã·¼ÈÝ.

³ö´¦: http://devbean.blog.51cto.com/448512/199472


¡¡¡¡ÒÔÉÏÊÇ¡°Qtѧϰ֮·(10):Meta-Objectϵͳ[VC/C++±à³Ì]¡±µÄÄÚÈÝ£¬Èç¹ûÄã¶ÔÒÔÉϸÃÎÄÕÂÄÚÈݸÐÐËȤ£¬Äã¿ÉÒÔ¿´¿´ÆßµÀÆæΪÄúÍƼöÒÔÏÂÎÄÕ£º
  • <b>Qtѧϰ֮·(28):×ø±ê±ä¸ü</b>
  • Qtѧϰ֮·(29):»­Í¼É豸
  • <b>Qtѧϰ֮·(30):Graphics View Framework</b>
  • <b>Qtѧϰ֮·(31):Ò»¸ö¼òÒ×»­°åµÄʵÏÖ(QWidget)</b>
  • Qtѧϰ֮·(32):Ò»¸ö¼òÒ×»­°åµÄʵÏÖ(Graphics View)
  • Qtѧϰ֮·(33):¹ú¼Ê»¯(ÉÏ)
  • <b>Qtѧϰ֮·(34):¹ú¼Ê»¯(ÏÂ)</b>
  • <b>Qtѧϰ֮·(9):ÉÀí½âÐźŲÛ</b>
  • Qtѧϰ֮·(10):Meta-Objectϵͳ
  • <b>Qtѧϰ֮·(11):MainWindow</b>
  • <b>Qtѧϰ֮·(12):²Ëµ¥ºÍ¹¤¾ßÌõ</b>
  • <b>Qtѧϰ֮·(13):²Ëµ¥ºÍ¹¤¾ßÌõ(Ðø)</b>
  • ±¾ÎĵØÖ·£º ÓëÄúµÄQQ/BBSºÃÓÑ·ÖÏí!
    • ºÃµÄÆÀ¼Û¡¡Èç¹ûÄú¾õµÃ´ËÎÄպ㬾ÍÇëÄú
        0%(0)
    • ²îµÄÆÀ¼Û¡¡Èç¹ûÄú¾õµÃ´ËÎÄÕ²¾ÍÇëÄú
        0%(0)

    ÎÄÕÂÆÀÂÛÆÀÂÛÄÚÈÝÖ»´ú±íÍøÓѹ۵㣬Óë±¾Õ¾Á¢³¡Î޹أ¡

       ÆÀÂÛÕªÒª(¹² 0 Ìõ£¬µÃ·Ö 0 ·Ö£¬Æ½¾ù 0 ·Ö) ²é¿´ÍêÕûÆÀÂÛ
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .