Михаиллл
21 мая 2020 г. 23:11

QML TextArea Ограничение количества символов

Добрый день.
Как ограничение количества символов в TextArea , используя 2 контролы? Нашел способ для 1-х контролов, но у меня все на 2-х. Может быть это можно сделать с помощью регулярного выражени?
Придумал только такой вариант:

  1. onTextChanged: {
  2. if(textAreaSetTextAddQuestionLeftBottom.length > 400){
  3. console.log(textAreaSetTextAddQuestionLeftBottom.text)
  4. textAreaSetTextAddQuestionLeftBottom.text = textAreaSetTextAddQuestionLeftBottom.text.slice(0, 400)
  5. }
4

Вам это нравится? Поделитесь в социальных сетях!

8
S
  • 22 мая 2020 г. 1:48

У TextArea есть параметр lenth , который возвращает максимальное количество символов

    t
    • 22 мая 2020 г. 2:37

    Validator?

      Михаиллл
      • 22 мая 2020 г. 3:29

      Не, такого нет, там есть у текста параметр lenght и он возвращает количество символов в тексте

        Evgenii Legotckoi
        • 22 мая 2020 г. 12:40

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

        1. TextField {
        2. validator: RegExpValidator { regExp: /[a-z]{2}/ }
        3. }
          Михаиллл
          • 22 мая 2020 г. 12:57

          Вот черт, я похоже перепутал и не тот виджет указал. Извините.
          У TextField есть работающее свойство, ограничивающее его размер.
          А хотел я спросить про TextArea. У него есть подобное рабочее свойство только для 1 контролов. И у TextArea к сожалению нет свойства validator.

            Evgenii Legotckoi
            • 22 мая 2020 г. 13:46
            • Ответ был помечен как решение.

            Нет, в TextArea вообще ни шиша нет. Только писать код, который будет резать текст при его вводе.

              Михаиллл
              • 22 мая 2020 г. 13:59

              Ясно, спасибо. Значит мой вариант не самый убогий. Странный подход в qml, сделали функции для 1 контролов, но не перенесли их на 2-е.

                Evgenii Legotckoi
                • 22 мая 2020 г. 14:03

                я бы даже сказал, что ваш вариант единственный.

                Странный подход в qml, сделали функции для 1 контролов, но не перенесли их на 2-е.

                Вообще с обратной совместимостью в QML слабовато. И иногда пропадает что-то действительно ценное :(

                  Комментарии

                  Только авторизованные пользователи могут публиковать комментарии.
                  Пожалуйста, авторизуйтесь или зарегистрируйтесь