АлексейQ
АлексейQНаурыз 19, 2018, 5: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, 6:04 Т.Ж.

Добрый день!

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

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

      Пікірлер

      Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
      Кіріңіз немесе Тіркеліңіз
      Г

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

      • Нәтиже:66ұпай,
      • Бағалау ұпайлары-1
      t

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

      • Нәтиже:33ұпай,
      • Бағалау ұпайлары-10
      t

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

      • Нәтиже:52ұпай,
      • Бағалау ұпайлары-4
      Соңғы пікірлер
      G
      GoattRockҚыр. 3, 2024, 11:50 Т.Қ.
      Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
      d
      dblas5Шілде 5, 2024, 9:02 Т.Қ.
      QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
      k
      kmssrАқп. 9, 2024, 5:43 Т.Ж.
      Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
      АК
      Анатолий КононенкоАқп. 5, 2024, 12:50 Т.Қ.
      Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
      Енді форумда талқылаңыз
      Evgenii Legotckoi
      Evgenii LegotckoiМаусым 25, 2024, 1:11 Т.Ж.
      добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
      F
      FynjyШілде 22, 2024, 2:15 Т.Қ.
      при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
      BlinCT
      BlinCTМаусым 25, 2024, 11 Т.Ж.
      Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
      BlinCT
      BlinCTМамыр 5, 2024, 3:46 Т.Қ.
      Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
      Evgenii Legotckoi
      Evgenii LegotckoiМамыр 3, 2024, 12:07 Т.Ж.
      Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

      Бізді әлеуметтік желілерде бақылаңыз