QLineEdit и подсветка синтаксиса, QLineEdit + QSyntaxHighlighter |
Здравствуйте, гость ( Вход | Регистрация )
QLineEdit и подсветка синтаксиса, QLineEdit + QSyntaxHighlighter |
Гость_bobic_* |
4.7.2008, 18:26
Сообщение
#1
|
Гости |
Доброго времени суток!
В QT есть очень удобный класс для подсветки синтаксиса - QSyntaxHighlighter - без проблем прикручивается на QTextEdit, аналогично QTExtEdit поддерживает html, и тоже проблем нет оформить подсветку в какой-либо тег. Однако стоит задача сделать то же самое с QLineEdit - а туда Highlighter уже не прикручивается, и html тоже не поддерживается. Нет ли у кого идей в каком направлении копать надо? Сообщение отредактировал Litkevich Yuriy - 11.2.2009, 20:02
Причина редактирования: Подкорректировал название темы
|
|
|
void* |
4.7.2008, 20:49
Сообщение
#2
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
а не проще ли просто сделать узкого размера QTextEdit?
|
|
|
Гость_bobic_* |
4.7.2008, 21:13
Сообщение
#3
|
Гости |
Cделать узкого размера можно, но беда в том, что при нажатии enter сноска будет происходить (чего нет в LineEdit).
|
|
|
Red Devil |
4.7.2008, 21:25
Сообщение
#4
|
Студент Группа: Участник Сообщений: 68 Регистрация: 6.6.2008 Из: Saint-Petersburg Пользователь №: 194 Спасибо сказали: 1 раз(а) Репутация: 3 |
А можно сделать, чтобы не происходила.
Перехватывай нажатия enter и return и не пропускай их к обработику QTextEdit. |
|
|
void* |
4.7.2008, 21:35
Сообщение
#5
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
именно, и сделай фиксированную высоту поля ввода (чтобы юзер вдруг не растянул ее и не разгадал секрета )
|
|
|
Гость_bobic_* |
4.7.2008, 22:38
Сообщение
#6
|
Гости |
Спасибо за рекомендацию. А как побороться с пользователем, который вставит из буфера большой текст, в котором будут \n-ки? Просто заменить после вставки?
|
|
|
Red Devil |
7.7.2008, 0:30
Сообщение
#7
|
Студент Группа: Участник Сообщений: 68 Регистрация: 6.6.2008 Из: Saint-Petersburg Пользователь №: 194 Спасибо сказали: 1 раз(а) Репутация: 3 |
Да.
Например можешь по сигналу от QTextDocument - void blockCountChanged ( int newBlockCount ), если количество строк больше 1-ой получается (видишь блок - читаешь строка), получить текст, изменить и вставить обратно. Сообщение отредактировал Red Devil - 7.7.2008, 0:31 |
|
|
linch |
20.8.2008, 14:44
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 21.7.2008 Пользователь №: 240 Спасибо сказали: 0 раз(а) Репутация: 0 |
А какую именно фиксированную высоту нужно делать? Ведь надо учитывать размер шрифта.
Я делал так:
Но этого вроде маловато. Поэтому прибавлял сверх еще несколько пикселов. Но может быть есть способ сделать это более универсально? |
|
|
Текстовая версия | Сейчас: 20.4.2024, 6:16 |