Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Как сделать красивые звездочки при вводе пароля?

Автор: Rocky 26.1.2010, 21:10

Собственно сабж... Есть QLineEdit. По умолчанию отображаются точки... А как звездочки сделать? Какие-нибудь золотистые? Это в сторону делегатов смотреть? В примерах тока один пример нашел про делегатов.. А у QLineEdit не нашел как определять role... или это не то?

Вобщем, подскажите плиз =)

Автор: Litkevich Yuriy 26.1.2010, 21:48

Цитата(Rocky @ 27.1.2010, 0:10) *
Это в сторону делегатов смотреть?
поле ввода не представление, ты делегат установить не сможешь. Рисуй в paintEvent у наследника, по сигналу изменения текста можно увеличивать счётчик, а в обработчике рисовния рисовать столько многоугольников сколько счётчик намотал

Автор: igor_bogomolov 26.1.2010, 21:59

Для золотистой звездочки не подойдет, но в качестве дополнения, символ ввода пароля можно заменить следующим способом

Цитата
Символ для ввода пароля в однострочных полях редактирования у которых имеется QLineEdit::Password режим "эха" можно установить:
QLineEdit[echoMode="2"] {
lineedit-password-character: 9679;
}

http://doc.crossplatform.ru/qt/4.6.x/stylesheet-examples.html#customizing-qlineedit

Автор: Rocky 26.1.2010, 22:16

Понял, щас буду пробовать..... а если картинка у меня - звездочка, как на каждый вводимый символ ее выводить?

Автор: Litkevich Yuriy 26.1.2010, 23:57

Цитата(Rocky @ 27.1.2010, 1:16) *
а если картинка у меня - звездочка, как на каждый вводимый символ ее выводить?
если речь об обработчике рисования, то нарисовал первую картинку, подвинул позицию рисовния, на ширину картинки + зазор. Всё рисование в цикле пока нужное кол-во звёздочек не нарисуешь. Код рисования можно посмотреть и в примере StarDelegat, суть-то та же.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)