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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: отловить клик на QLineEdit  (Прочитано 12614 раз)
BuRn
Гость
« : Ноябрь 20, 2011, 19:05 »

Собственно как , если делаю
 QLineEdit  *w = (QLineEdit *)sender();
    w->clear();
приложение вылетает
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Ноябрь 20, 2011, 19:15 »

Значит, sender не QLineEdit.

И делай правильный каст:

QLineEdit  *w = qobject_cast <QLineEdit *> (sender());
Q_CHECK_PTR (w);
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
BuRn
Гость
« Ответ #2 : Ноябрь 20, 2011, 19:19 »

да затупил, сигнал отдает баттон, вот после того как по баттону сделали клик , нужно как-то отловить QLineEdit который в фокусе
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Ноябрь 20, 2011, 19:20 »

Это сложновато сделать - при клике на кнопку, фокус будет у нее.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
BuRn
Гость
« Ответ #4 : Ноябрь 20, 2011, 19:22 »

ммм, какие тогда есть решения
Записан
BuRn
Гость
« Ответ #5 : Ноябрь 20, 2011, 19:24 »

не знаю будет ли работать, но если сделать обработчик на lineEdit как только в него кликнули. запомнить объект, после обработчик на баттон берет объект и делает его clear, прокатит ?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Ноябрь 20, 2011, 19:28 »

Попробуй заюзать
QWidget * QWidget::focusWidget () const
Может, поможет.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
andrew.k
Гость
« Ответ #7 : Ноябрь 20, 2011, 19:29 »

думаю, если мы узнаем, что нужно получить, может оказаться, что не требуются подобные извращения.
Очередной хитроумный интерфейс?
Записан
BuRn
Гость
« Ответ #8 : Ноябрь 20, 2011, 19:31 »

Попробуй заюзать
QWidget * QWidget::focusWidget () const
Может, поможет.
пробовал, не поможет
добавляю к примеру inputPanel функцию очистки всего lineEdita если быть точным
Записан
andrew.k
Гость
« Ответ #9 : Ноябрь 20, 2011, 19:33 »

так у тебя ж кнопка "очистить" и сам lineEdit на разных формах должен быть, на сколько я понимаю?
Тогда проблемы не должно быть.
Записан
BuRn
Гость
« Ответ #10 : Ноябрь 20, 2011, 19:35 »

к примеру , 2 лайн эдита , на 1 форме . тыкаю на первый лайн эдит , вываливается окошко , при нажатии на кнопку очистить должно очистится тот лайн эдит на который тыкнули, вот так
Записан
andrew.k
Гость
« Ответ #11 : Ноябрь 20, 2011, 19:37 »

к примеру , 2 лайн эдита , на 1 форме . тыкаю на первый лайн эдит , вываливается окошко , при нажатии на кнопку очистить должно очистится тот лайн эдит на который тыкнули, вот так
Кнопка "очистки" на "вываливающемся окошке"?
Записан
BuRn
Гость
« Ответ #12 : Ноябрь 20, 2011, 19:38 »

да
Записан
andrew.k
Гость
« Ответ #13 : Ноябрь 20, 2011, 20:01 »

да
Тогда в чем вообще проблема?
Записан
BuRn
Гость
« Ответ #14 : Ноябрь 20, 2011, 20:02 »

в получении самого этого lineEdit - а
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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