АлексейQ
АлексейQ19 березня 2018 р. 05:23

ScrollView + Flicable + TextEdit

Добрый день! Может вопрос окажется простой, но я чего-то заковырялся, и решил задать вопрос. Суть в следующем есть такая цепочка сложенных объектов ScrollView + Flicable + TextEdit.

Есть функция js
function ensureVisible(r) {
  if (contentX >= r.x) contentX = r.x;
  else if (contentX+width <= r.x+r.width)   contentX = r.x+r.width-width;
  if (contentY >= r.y)  contentY = r.y;
  else if (contentY+height <= r.y+r.height) contentY = r.y+r.height-height;
  }
она должна перемещать текст выше при наполнении TextEdit текстом.
 
Но это не работает. Да и самое интересное, что заполняю я этот TextEdit из кода С++. Так вот все сдвигается в начало при каждом изменении свойства text.
Натолкните, что где я упустил? Спасибо!
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

2
Evgenii Legotckoi
  • 19 березня 2018 р. 06:04

Добрый день!

Если Вы устанавливаете текст через замену строки в property text , то получается, что у вас текстовый курсор остаётся на том же самом месте, то есть свойство  cursorProperty остаётся равным 0. Его необходимо установить равным длине текста.
в QML это делается так
textedit.cursorPosition = textedit.text.length;
Что касается C++, то там, раз уж вы уже устанавливаете text каким-то образом, я не знаю каким именно, то аналогичным способом можете забрать и информацию о длине установленного текста. А cursorPosition - это тоже property, поэтому его можно также установить через метод setProperty(). И лучше именно через него, чтобы в QML были вызваны все соответствующие обработчики событий связанные с позицией курсора.
    АлексейQ
    • 19 березня 2018 р. 08:47

    Спасибо, все именно так и происходит!

      Коментарі

      Only authorized users can post comments.
      Please, Log in or Sign up
      sf

      C++ - Тест 004. Указатели, Массивы и Циклы

      • Результат:90бали,
      • Рейтинг балів8
      МВ

      Qt - Тест 001. Сигналы и слоты

      • Результат:68бали,
      • Рейтинг балів-1
      ЛС

      C++ - Тест 001. Первая программа и типы данных

      • Результат:53бали,
      • Рейтинг балів-4
      Останні коментарі
      A
      ALO1ZE19 жовтня 2024 р. 08:19
      Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
      ИМ
      Игорь Максимов05 жовтня 2024 р. 07:51
      Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
      d
      dblas505 липня 2024 р. 11:02
      QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
      k
      kmssr08 лютого 2024 р. 18:43
      Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
      АК
      Анатолий Кононенко05 лютого 2024 р. 01:50
      Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
      Тепер обговоріть на форумі
      J
      JacobFib17 жовтня 2024 р. 03:27
      добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
      ИМ
      Игорь Максимов03 жовтня 2024 р. 04:05
      Реализация навигации по разделам Спасибо Евгений!
      JW
      Jhon Wick01 жовтня 2024 р. 15:52
      Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
      КГ
      Кирилл Гусарев27 вересня 2024 р. 09:09
      Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
      F
      Fynjy22 липня 2024 р. 04:15
      при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

      Слідкуйте за нами в соціальних мережах