diff options
Diffstat (limited to 'tde-i18n-ru/docs/tdevelop/kde_app_devel')
-rw-r--r-- | tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook b/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook index 70e32db4856..29987b7b73c 100644 --- a/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook +++ b/tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook @@ -229,7 +229,7 @@ return a.exec(); <sect2 id="c1s2s4"> <title>Взаимодействие объектов через сигналы и слоты</title> <para>Теперь переходим к основному отличию Qt: механизму сигнал/слот. Это быстрое и удобное решение реализации взаимодействия объектов, которое обычно решается посредством callback-функций в библиотеках, работающих с X-Window. Так как такое взаимодействие требует аккуратного программирования и иногда делает создание пользовательского интерфейса очень сложным (что описано в документации по Qt и объяснено в книге К.Дальхеймера [K.Dalheimer] 'Programming with Qt'), Troll Tech придумала новую систему, где объекты могут посылать сигналы, которые можно связывать с методами, объявленными как слоты. Программисту на C++ нужно знать только некоторые вещи о механизме: <itemizedlist> -<listitem><para>объявление класса, использующего сигналы/слот должно содержать макрос Q_OBJECT в начале (без точки с запятой); и должно быть унаследовано от класса <classname>QObject</classname> </para></listitem> +<listitem><para>объявление класса, использующего сигналы/слот должно содержать макрос TQ_OBJECT в начале (без точки с запятой); и должно быть унаследовано от класса <classname>QObject</classname> </para></listitem> <listitem><para>сигнал может быть послан ключевым словом emit (например, emit signal (параметры...)) из любого метода класса, поддерживающего сигналы/слоты </para></listitem> <listitem><para>все сигналы, использующиеся не наследуемыми классами, должны быть добавлены в объявление класса в разделе signals </para></listitem> @@ -471,7 +471,7 @@ return a.exec(); </para> <para>Мы пронумеровали строки для простоты их описания. Прежде всего, <command>gmake</command> работает рекурсивно. Это значит, что сначала он находит самый глубоковложенный каталог, обрабатывает его, затем подымается на уровень выше, обрабатывает этот каталог и так далее до самого верхнего. </para> <para>Первая, интересующая нас строка - 24. В ней <command>make</command> обращается к GNU C++ компилятору <command>g++</command> для компиляции файла main.cpp. При этом используется некоторое количество дополнительных ключей, многие из которых можно настроить через &tdevelop;. </para> -<para>Перед компилированием следующего файла (kscribble.cpp, строка 29) вызывается команда <command>moc</command> (meta object compiler, компилятор мета-объектов) для kscribble.h (строка 25). Это из-за того, что классы KScribble используют механизм сигналов/слотов. Она подставляет вместо макроса Q_OBJECT действительный код. Получившийся файл, kscribble.moc, используется kscribble.cpp через #include. </para> +<para>Перед компилированием следующего файла (kscribble.cpp, строка 29) вызывается команда <command>moc</command> (meta object compiler, компилятор мета-объектов) для kscribble.h (строка 25). Это из-за того, что классы KScribble используют механизм сигналов/слотов. Она подставляет вместо макроса TQ_OBJECT действительный код. Получившийся файл, kscribble.moc, используется kscribble.cpp через #include. </para> </sect1> <sect1 id="c3s4"> |