| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] QLineEdit и данные |
| Автор: dix75 8.3.2010, 22:58 |
| Добрый вечер! Ситуация в следующем у меня имеется около 20 QLineEditов. Также имеется общий слот для обработки сигналов от этих эдитов. Но как определить в каком конкретно произошло событие? sender - не помогает. (т.к. в зависимости от эдита могут далее возбуждаются другие сигналы) в QAction есть метод setData в который я могу поместить уникальный id но в эдитах такого нет. Едиственное, что приходит на ум это сделать свич и проверять по указателю каждый эдит. |
| Автор: dix75 8.3.2010, 23:23 | ||||
Нет, узнать я могу кто. Некий объект Эдит у которого есть определенные данные (например text) Как бы точнее объяснить. У меня каждый Эдит должен взаимодействовать с определенным объектом. т.е выходит что каждый сигнал эдита соединяется с объектом, но реализация слотов идентична для всех сигналов. разница только в id эдита. Просто мне неохота да и неверно писать 20 идентичных слота. Добавлено через 5 минут и 32 секунды т.е. получается 20 эдитов такого характера
Добавлено через 11 минут и 54 секунды Хуже того объекты с которыми соединются слоты могут и не существовать. Поэтому и необходим один глобальный слот. |
| Автор: SABROG 8.3.2010, 23:41 | ||||
Связь рвется при уничтожении объекта. Главное так не делать:
И не удалять объекты в слотах. QSignalMapper используешь? |
| Автор: borisbn 8.3.2010, 23:57 |
| Пробовал http://qt.nokia.com/doc/4.6/qobject.html#setProperty и http://qt.nokia.com/doc/4.6/qobject.html#property для едитов? В property можно записать например адрес связанного с едитом объекта |
| Автор: dix75 9.3.2010, 10:53 |
| SABROG, У меня есть форма с едитами и есть скрытый пулл объектов Если объект существует он отображает данные едита в противном случае ничего нет Ситуация похожа на MVC |
| Автор: SABROG 9.3.2010, 12:36 |
| Какой объект? Edit отображает данные объекта или свои собственные данные? Текст, который отображает Edit это данные Edit'a? Какова реальная задача? |
| Автор: dix75 9.3.2010, 12:44 |
Собственный (график на QWidget) собственные да Отображение данных едитов при вводе их пользователем автоматически отображались графически |
| Автор: SABROG 9.3.2010, 13:00 | ||
Чем QSignalMapper не подходит? |
| Автор: dix75 9.3.2010, 14:16 |
Почему подходит. но вариант с QObject::setProperty() и QObject::property() требует меньше строк в реализации. |