Михаиллл
May 21, 2020, 11:11 p.m.

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

Do you like it? Share on social networks!

8
S
  • May 22, 2020, 1:48 a.m.

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

    t
    • May 22, 2020, 2:37 a.m.

    Validator?

      Михаиллл
      • May 22, 2020, 3:29 a.m.

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

        Evgenii Legotckoi
        • May 22, 2020, 12:40 p.m.

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

        1. TextField {
        2. validator: RegExpValidator { regExp: /[a-z]{2}/ }
        3. }
          Михаиллл
          • May 22, 2020, 12:57 p.m.

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

            Evgenii Legotckoi
            • May 22, 2020, 1:46 p.m.
            • The answer was marked as a solution.

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

              Михаиллл
              • May 22, 2020, 1:59 p.m.

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

                Evgenii Legotckoi
                • May 22, 2020, 2:03 p.m.

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

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

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

                  Comments

                  Only authorized users can post comments.
                  Please, Log in or Sign up
                  • Last comments
                  • AK
                    April 1, 2025, 11:41 a.m.
                    Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                  • Evgenii Legotckoi
                    March 9, 2025, 9:02 p.m.
                    К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                  • VP
                    March 9, 2025, 4:14 p.m.
                    Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                  • ИМ
                    Nov. 22, 2024, 9:51 p.m.
                    Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                  • Evgenii Legotckoi
                    Oct. 31, 2024, 11:37 p.m.
                    Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup