![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
entmobile |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 8.12.2008 Пользователь №: 444 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Вопрос по lineEdit: как узнать когда он в фокусе а когда нет? Пытался написать свое класс на основе QLineEdit и из focusEventов емитеть сигнал, нечего не получилось!:( Может есть более корректное решение? В итоге мне надо сделать следующее: если LineEdit пуст там появляется текст, при клике(табуляции) туда текст исчезает
![]()
Сообщение отредактировал Litkevich Yuriy - 11.2.2009, 20:00
Причина редактирования: Уточнил название темы
|
|
|
![]() |
KuZ |
![]()
Сообщение
#2
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 13.12.2009 Пользователь №: 1303 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Вот возможно так:
CODE class LE : public QLineEdit { public: LE(QWidget *wgt = 0); protected: virtual void focusInEvent(QFocusEvent *); virtual void focusOutEvent(QFocusEvent *); }; CODE LE::LE(QWidget *wgt) : QLineEdit(wgt){} void LE::focusInEvent(QFocusEvent *e) { QLineEdit::focusInEvent(e); QPalette p = palette(); p.setColor(QPalette::Text,Qt::black); setPalette(p); setText(text() == "Enter Text" ? "" : text()); } void LE::focusOutEvent(QFocusEvent *e) { QLineEdit::focusOutEvent(e); QPalette p = palette(); p.setColor(QPalette::Text,Qt::gray); setPalette(p); setText(text().isEmpty() ? "Enter Text" : text()); } только если набраный текст Enter Text, то "ошибка" чето придумать можно чтоб подобный вариант работал. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 20.6.2025, 9:24 |