QLineEdit, как сделать так, чтобы пока он пуст там появлялся текст? |
Здравствуйте, гость ( Вход | Регистрация )
QLineEdit, как сделать так, чтобы пока он пуст там появлялся текст? |
ViGOur |
4.2.2009, 13:13
Сообщение
#11
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
entmobile |
4.2.2009, 13:25
Сообщение
#12
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 8.12.2008 Пользователь №: 444 Спасибо сказали: 0 раз(а) Репутация: 0 |
Чем хорошо именно рисование на виджете, так это тем, что мы не трогаем текст виджета. В этом ты прав!!! Но если переписывать paintevent у lineedit то придеться полностью его перерисовывать: текст в нем и т.д. или есть вариант что бы дорисовать то что надо а остальное оставить? пока помог вариант с выводом текста в focusEvent`ах. |
|
|
entmobile |
4.2.2009, 14:02
Сообщение
#13
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 8.12.2008 Пользователь №: 444 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я думаю лучше это делать в paintEvent Вот немного поправил твой вариант!!! Спасибо огромное!! CODE void authEdit::paintEvent(QPaintEvent *event) { if (text().isEmpty() && !hasFocus() && !inactiveText.isEmpty()) { //можно и без hasFocus, так даже интереснее будет QLineEdit::paintEvent(event); QPainter painter(this); painter.setPen(Qt::gray); painter.setFont(QFont("Arial", 12)); painter.drawText(rect(), Qt::AlignCenter, inactiveText); } else QLineEdit::paintEvent(event); } P.S. authEdit это класс наследник от QLineEdit. |
|
|
Litkevich Yuriy |
4.2.2009, 14:32
Сообщение
#14
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Вот немного поправил твой вариант!!! Спасибо огромное!! Эдик предлагал использовать событие перерисовки родительского виджета, и это более удачный вариант чем твойС другой стороны, твой вариант хорош тем, что можно сделать наследника от QLineEdit намногие случаи жизни с таким поведением entmobile, для твоего случая можно такую модернизацию провести: дабы не было жестко зашитого в код размера шрифта
|
|
|
kuler |
4.2.2009, 15:26
Сообщение
#15
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
|
|
|
Litkevich Yuriy |
4.2.2009, 15:30
Сообщение
#16
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
kuler, он так и сделал
|
|
|
trdm |
4.2.2009, 16:04
Сообщение
#17
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
|
|
|
Litkevich Yuriy |
4.2.2009, 16:45
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
может быть, я с рисованием еще не работал. Так на удачу воткнул
|
|
|
Константин |
16.2.2009, 2:38
Сообщение
#19
|
Студент Группа: Участник Сообщений: 69 Регистрация: 9.2.2009 Пользователь №: 539 Спасибо сказали: 15 раз(а) Репутация: 1 |
всё это уже есть в SearchLineEdit - в доп.компонентах на prog.org.ru
скоро будет свежая версия... |
|
|
z0D5e8n7x |
23.3.2010, 1:05
Сообщение
#20
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 23.3.2010 Пользователь №: 1554 Спасибо сказали: 0 раз(а) Репутация: 0 |
всё это уже есть в SearchLineEdit - в доп.компонентах на prog.org.ru скоро будет свежая версия... я тут сделал свой вариант попроще, мож кому сгодится Раскрывающийся текст
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 12:52 |