It works, but on my C7 automatic removing of a last char(after exceeding 10 chars) is not immediate.
Also when writing in the middle of text sometimes input is set to upper-case letters instead of lower-case.

Why not subclass [[Doc:QValidator]], and check the length of the input string there? Simply re-implement validate() and fixup. validate() would just return Acceptable for strings shorter or equal than the required length, and Invalid for longer strings. fixup() would simply truncate the input text.

Unfortunately I don't find way to use it in my case, because I need multi line editable text element.TextInput has validator property, but is single-line.TextEdit does not have validator property and I don't know how I could use QValidator in it.