From 6fd26e813877361aed526a18da8c0e1f16eb7f00 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Thu, 20 Jul 2023 15:04:17 +0900 Subject: Replace Q_OBJECT with TQ_OBJECT Signed-off-by: Michele Calgaro --- tde-i18n-ru/docs/tdevelop/kde_app_devel/index.docbook | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tde-i18n-ru/docs/tdevelop') 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(); Взаимодействие объектов через сигналы и слоты Теперь переходим к основному отличию Qt: механизму сигнал/слот. Это быстрое и удобное решение реализации взаимодействия объектов, которое обычно решается посредством callback-функций в библиотеках, работающих с X-Window. Так как такое взаимодействие требует аккуратного программирования и иногда делает создание пользовательского интерфейса очень сложным (что описано в документации по Qt и объяснено в книге К.Дальхеймера [K.Dalheimer] 'Programming with Qt'), Troll Tech придумала новую систему, где объекты могут посылать сигналы, которые можно связывать с методами, объявленными как слоты. Программисту на C++ нужно знать только некоторые вещи о механизме: -объявление класса, использующего сигналы/слот должно содержать макрос Q_OBJECT в начале (без точки с запятой); и должно быть унаследовано от класса QObject +объявление класса, использующего сигналы/слот должно содержать макрос TQ_OBJECT в начале (без точки с запятой); и должно быть унаследовано от класса QObject сигнал может быть послан ключевым словом emit (например, emit signal (параметры...)) из любого метода класса, поддерживающего сигналы/слоты все сигналы, использующиеся не наследуемыми классами, должны быть добавлены в объявление класса в разделе signals @@ -471,7 +471,7 @@ return a.exec(); Мы пронумеровали строки для простоты их описания. Прежде всего, gmake работает рекурсивно. Это значит, что сначала он находит самый глубоковложенный каталог, обрабатывает его, затем подымается на уровень выше, обрабатывает этот каталог и так далее до самого верхнего. Первая, интересующая нас строка - 24. В ней make обращается к GNU C++ компилятору g++ для компиляции файла main.cpp. При этом используется некоторое количество дополнительных ключей, многие из которых можно настроить через &tdevelop;. -Перед компилированием следующего файла (kscribble.cpp, строка 29) вызывается команда moc (meta object compiler, компилятор мета-объектов) для kscribble.h (строка 25). Это из-за того, что классы KScribble используют механизм сигналов/слотов. Она подставляет вместо макроса Q_OBJECT действительный код. Получившийся файл, kscribble.moc, используется kscribble.cpp через #include. +Перед компилированием следующего файла (kscribble.cpp, строка 29) вызывается команда moc (meta object compiler, компилятор мета-объектов) для kscribble.h (строка 25). Это из-за того, что классы KScribble используют механизм сигналов/слотов. Она подставляет вместо макроса TQ_OBJECT действительный код. Получившийся файл, kscribble.moc, используется kscribble.cpp через #include. -- cgit v1.2.1