crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QLineEdit и подсветка синтаксиса
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
linch Дата 20.8.2008, 14:44
  А какую именно фиксированную высоту нужно делать? Ведь надо учитывать размер шрифта.
Я делал так:

setFixedHeight(fontMetrics().lineSpacing())


Но этого вроде маловато. Поэтому прибавлял сверх еще несколько пикселов. Но может быть есть способ сделать это более универсально?
Red Devil Дата 7.7.2008, 0:30
  Да.
Например можешь по сигналу от QTextDocument - void blockCountChanged ( int newBlockCount ), если количество строк больше 1-ой получается (видишь блок - читаешь строка), получить текст, изменить и вставить обратно.
bobic Дата 4.7.2008, 22:38
  Спасибо за рекомендацию. А как побороться с пользователем, который вставит из буфера большой текст, в котором будут \n-ки? Просто заменить после вставки?
void* Дата 4.7.2008, 21:35
  именно, и сделай фиксированную высоту поля ввода (чтобы юзер вдруг не растянул ее и не разгадал секрета :) )
Red Devil Дата 4.7.2008, 21:25
  А можно сделать, чтобы не происходила.
Перехватывай нажатия enter и return и не пропускай их к обработику QTextEdit.
bobic Дата 4.7.2008, 21:13
  Cделать узкого размера можно, но беда в том, что при нажатии enter сноска будет происходить (чего нет в LineEdit).
void* Дата 4.7.2008, 20:49
  а не проще ли просто сделать узкого размера QTextEdit? :)
bobic Дата 4.7.2008, 18:26
  Доброго времени суток!

В QT есть очень удобный класс для подсветки синтаксиса - QSyntaxHighlighter - без проблем прикручивается на QTextEdit, аналогично QTExtEdit поддерживает html, и тоже проблем нет оформить подсветку в какой-либо тег. Однако стоит задача сделать то же самое с QLineEdit - а туда Highlighter уже не прикручивается, и html тоже не поддерживается. Нет ли у кого идей в каком направлении копать надо?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 9.7.2025, 23:27