Алексей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
      AD

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

      • Результат:50бали,
      • Рейтинг балів-4
      m
      • molni99
      • 26 жовтня 2024 р. 01:37

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

      • Результат:80бали,
      • Рейтинг балів4
      m
      • molni99
      • 26 жовтня 2024 р. 01:29

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

      • Результат:20бали,
      • Рейтинг балів-10
      Останні коментарі
      ИМ
      Игорь Максимов22 листопада 2024 р. 11:51
      Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
      Evgenii Legotckoi
      Evgenii Legotckoi31 жовтня 2024 р. 14:37
      Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
      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 аналогично. Могу предположить, что из-за более новой верси…
      Тепер обговоріть на форумі
      Evgenii Legotckoi
      Evgenii Legotckoi24 червня 2024 р. 15:11
      добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
      t
      tonypeachey115 листопада 2024 р. 06:04
      google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
      NSProject
      NSProject04 червня 2022 р. 03:49
      Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
      9
      9Anonim25 жовтня 2024 р. 09:10
      Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

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