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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Надо создать общий сигнал для контролов на диалоге, загруженном через QUiLoader  (Прочитано 3397 раз)
Caduceus
Гость
« : Апрель 27, 2009, 22:20 »

Сейчас попытаюсь объяснить.
У меня есть ui файлы, загружаемые через QUiLoader. Я знаю имена контролов на нем то есть могу через findChild найти. НО - я не знаю заранее тип контрола - то есть комбобокс это или слайдер или радиокнопка и тд - это неизвестно.

Так вот, мне надо ловить изменения в значениях от всех этих контролов - то есть чтобы все шло через функцию, первый аргумент которой идет указатель на виджет - а далше с агрументами не совсем понятно, как разруливать их типы.

Вот такой финт надо сделать... Как? Есть мысли?
Записан
Karl-Philipp
Гость
« Ответ #1 : Апрель 27, 2009, 22:49 »

думаю, что QSignalMapper Class подойдёт для перечисленных целей.
Записан
Caduceus
Гость
« Ответ #2 : Апрель 27, 2009, 22:50 »

О, спасибо, уже копаю

Правка Блин, I like this game. Супер. То что надо
« Последнее редактирование: Апрель 27, 2009, 23:13 от Caduceus » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Апрель 27, 2009, 23:13 »

НО - я не знаю заранее тип контрола - то есть комбобокс это или слайдер или радиокнопка и тд - это неизвестно.

как разруливать их типы.

QObject *obj = .... ; // неизвестный тип

1.

Код
C++ (Qt)
obj->metaObject()->className();

Вернет имя класса объекта, например "QPushButton"

2.

Код
C++ (Qt)
QPushButton *pb = qobject_cast<QPushButton *>(obj);
if (pb) {
   // do something with QPushButton
}
 
QRadioButton *rb = qobject_cast<QRadioButton *>(obj);
if (rb) {
   // do something with QRadioButton
}
 
...
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Caduceus
Гость
« Ответ #4 : Апрель 27, 2009, 23:19 »

Да, спасибо. Это тоже пригодится.
Всем спасибо. В мозгу все встало на свои места - понятно что делать
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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