Мета-объект жүйесі - Meta-object System

Meta Object System бөлігі болып табылады Qt құрылымы Qt кеңейтімдерін қолдау үшін берілген ядро C ++ сияқты сигналдар / слоттар объектаралық байланыс үшін, жұмыс уақыты ақпаратты теру, және динамикалық қасиеттер жүйесі.[1]

Сәулет

Meta объект жүйесі 3 нәрседен тұрады: QObject сынып, Q_OBJECT макро және moc деп аталатын құрал (Meta-Object) Құрастырушы ). QObject - бұл барлық Qt сыныптары үшін негізгі класс, Q_OBJECT макросы кластердегі мета-объектілік мүмкіндіктерді қосу үшін қолданылады, ал moc - бұл алдын ала процессор бұл Q_OBJECT макро даналарын өзгертеді C ++ бастапқы код ол қолданылатын сыныпта мета объектілік жүйенің механизмін қосу.[2]

Мета-объектілер жүйесін пайдалану біраз сынға алып келді. Жылы Qt құжаттама, мета объектілер жүйесін пайдалануға бірнеше себептер келтірілген, соның ішінде артықшылықтары кодты құру, динамизмі GUI, сценарий тілдеріне автоматты түрде қосылу, шектеулерді қоспау, сонымен қатар moc-пен сигнал / слотты іске асыруда ақылға қонымды өнімділік.[3] Qt-ді алдын-ала процессорға қажет етпеу үшін бірнеше күш бар. Бұл әрекеттерге Qt moc-ті libclang көмегімен қайта енгізу кіреді.[4]

Әдебиеттер тізімі

  1. ^ «Meta-Object жүйесі - QtCore 5.1». Qt жобасы. 2013-07-04. Алынған 2013-07-04.
  2. ^ «Meta-Object Compiler (moc) пайдалану» «. Qt жобасы. 2013-07-04. Алынған 2013-07-04.
  3. ^ «Неліктен Qt Moc сигналдары мен слоттары үшін пайдаланады?». Qt жобасы. 2013-07-04. Алынған 2013-07-04.
  4. ^ «Qt moc-ті libclang көмегімен қайта енгізу». Оливье Гоффарт. 2013-07-04. Алынған 2013-07-04.