Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [QT4] как узнать, кто послал сигнал в слот? 
:(
    Опции темы
powerfox
Дата 8.9.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 97



Любитель, логичнее. Но тогда нужен указатель на объект, который вызывает. В свою очередь QLineEdit понадобится сигнал, который передаёт указатель. Мы снова получаем QMyLineEdit.

Цитата(Любитель @  8.9.2007,  22:03 Найти цитируемый пост)
вообще автору надо поподробней сказать задачу, чтобы можно было говорить о лучшем её решении...

Да.


--------------------
user posted image
PM WWW   Вверх
Любитель
Дата 8.9.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(powerfox @  8.9.2007,  21:27 Найти цитируемый пост)
В свою очередь QLineEdit понадобится сигнал, который передаёт указатель

Зачем?

Ещё раз - вызов sender() из класса-наследника QObject вернёт:
a) 0 - если вызов сделан не из слота
b) указатель на отправителя сигнала - если из слота smile


--------------------
PM MAIL ICQ Skype   Вверх
powerfox
Дата 8.9.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 97



Любитель, +1, не знал о наличии sender()


--------------------
user posted image
PM WWW   Вверх
iigor
Дата 9.9.2007, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 7.9.2007

Репутация: нет
Всего: нет



1) нашёл функцию 
QObject * QObject::sender () const 
(о ней писали выше, только я не понял, что это функция)

2)слот, конечно, не в классе lineedit, а в своём виджете или на формочке.

3)задача была такая:
а)есть много одинаковых объектов(заранее не изветно сколько) они могут добавляться после сдачи проекта, при этом добавление должно происходить максимально просто. Например перетащить поле, вбить номер в одно из свойств, нажать f4 и соеденить с каким-либо слотом.

б)все эти одинаковые объекты должны посылать сигнал. все сигналы приходят в один слот, который уже и разбирается, что с ними делать, а учитывая пункт а) нужно максимально облегчить класс-"сигналопосылатель".

PM MAIL   Вверх
Любитель
Дата 9.9.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



А так что должен делать слот-то?

Воспользуйся чем-то вроде:
Код

QLineEdit* edit = qobject_cast<QLineEdit*>(sender());
if (edit)
{
    // ...
}



--------------------
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0882 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.