Всем привет Подскажите, пожалуйста, можно ли изменить каретку в qtextedit с

вертикальной на горизонтальную?

11 ответов

12 просмотров

Если ты про полосу прокрутки, то поиграйся с setLineWrapMode

BV-Багров Автор вопроса
Mr.Mait
Если ты про полосу прокрутки, то поиграйся с setLi...

Я про курсор: когда мы печатаем в ворде, то у нас он справа от символа, а как я могу сделать, чтобы он был под символом? (Про ворд это просто пример)

BV-Багров Автор вопроса

Без шансов?(

paintEvent?

BV Багров
Без шансов?(

Такое даже не загуглю. Все сводится к курсору, а курсор это про мышь

BV-Багров Автор вопроса
Michael Chambers
paintEvent?

Как именно?

BV Багров
Как именно?

https://code.woboq.org/qt5/qtbase/src/widgets/widgets/qtextedit.cpp.html#1596 кажется идея так себе, не вижу там того, что вы ищете

BV Багров
Как именно?

Примерно вот так, но там какой-то баг, когда каретку меняешь на другое место, за собой следы оставляет. В конструкторе это прописано setCursorWidth(0);, а паинт такой void TextTestEdit::paintEvent(QPaintEvent *event) { QTextEdit::paintEvent(event); if (hasFocus()) { QFontMetrics fm(currentFont()); int w = fm.horizontalAdvance("T"); // test len 1 char width QRect qRect = cursorRect(textCursor()); qDebug() << qRect; QPainter qPainter(viewport()); QRect line(qRect.left(), qRect.bottom(), w, 1); qPainter.fillRect(line, QColor(0, 0, 0)); //qPainter.fillRect(qRect.left(), qRect.bottom(), w, 1, Qt::black); qDebug() << line; qDebug() << ""; } }

Mr.Mait
Примерно вот так, но там какой-то баг, когда карет...

Проблема решена. Там короче заоптимизирован QTextEdit и он обновляет только те части, где находится каретка, а все остальное игнорирует. Это будет немного трудозатратно, но код теперь работает как надо. Немного подшаманить и можно сделать мигающий курсор. Вот костыль который исправит остатки следов в необновляемых областях. Прописал в конструкторе connect(this, &TextTestEdit::cursorPositionChanged, this, [this]{ viewport()->update(); });

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Ребят, а двух-факторку для плагина Users и для бэкенда октября кто-то прикручивал? Поделитесь опытом
Constantine Anikin
4
Карта сайта