Russian Qt Forum
Ноябрь 23, 2024, 15:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос к гуру: сигналы и слоты в Qt  (Прочитано 4767 раз)
pasta
Гость
« : Октябрь 03, 2005, 01:08 »

Вопрос, собственно, простой  :wink:
Как это всё работает?
Задача сделать динамический коннект сигнал-слот. То есть, прога должна обрабатывать xml-файл и по командам оттуда создавать объекты нескольких видов и коннектить их между собой.
Иначе говоря, сделать интерпретатор, который бы позволял динамически строить GUI.
Вроде бы, именно для этого сделан класс QMetaObject.
Но если активировать указанный слот там можно, то как быть с сигналами? Можно, конечно, вести какие-нибудь таблицы сигналов и слотов, все сигналы в создаваемых объектах сразу коннектить к с специально написанным слотам в моем интерпретаторе, а эти слоты по инфе из таблиц будут их ретранслировать по нужным местам.
Но можно ли это сделать не так коряво? Кто-то уже сталкивался с подобной задачей?
Заранее спасибо за любой совет!
Записан
Kostya
Гость
« Ответ #1 : Октябрь 03, 2005, 07:03 »

Решение - проще не придумаешь. Соединение сигналов-слотов происходит с помощью QObject::connect. Для указания сигналов-слотов используются макросы SIGNAL(), SLOT() - в результате работы этих макросов получаются СТРОКИ такого вида:
SIGNAL(clicked())="2clicked()"
SLOT(click())="1click()"
то есть добавляется просто циферка нужная, то есть можешь коннектить свои слоты-сигналы с помощью QObject::connect используя вместо макросов свои строки.
Записан
pasta
Гость
« Ответ #2 : Октябрь 03, 2005, 16:42 »

Большое спасибо!
Буду пробовать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.