I am not trying to be an *sshole here, or sarcastic in any way. If you still cannot see the problem, given your statements, I have to make the following analysis before I can continue explaining.
1) English is not your primary language
2) You do not have a degree in IT from a valid school
3) You have not actually added a QLineEdit to a form with the designer and LOOKED at the properties I mentioned.
I make the second statement based upon: "09; " is syntactically equivalent "09", though not canonical.
Nobody with an IT degree from a valid school would ever say that. You should have had to take both Rules & Regulations of Data Entry Design (under whatever name it goes by today) and Theory of compiler development in a valid IT program. "09" is not syntactically equal to or even remotely related to "09; " as an entry mask. "09" is a numeric only 2 DIGIT entry mask. "09; " is an Alpha-Numeric 4 CHARACTER entry mask. Spaces are non-numeric characters.
I wish I hadn't mentioned Mono because that seems to have set your little world all a tither. We have multiple bugs here.
BUG 1) The designer cannot automatically append OPTIONAL characters to input masks without allowing the developer a means to remove them.
BUG 2) The designer calculates the maxLength based upon the ORIGINAL INPUT MASK, not the illegally modified version. Which is correct for the original intention, but should invalidate the mask in the designer.
BUG 3) IF, your application "works correctly" given this field on this form, your application isn't honoring the maxLength property. With a maxLength of 2 and a mask of 4 ENTRY SHOULD NEVER BE ALLOWED due to the size mismatch.
I'm going to attach a screen shot of the fields in the designer so you can see "09; " got forced upon me, but the length was correctly calculated to 2.
I am not allowed to apply patches which haven't made it through the OpenSuSE repositories at this time. I have all patches applied which are available from those sites.
At a minimum, the designer must cease and desist forcing the unwanted "; " on us. This not only changes the size of the input fields, it changes the data type. Once again, it goes back to rules and regulations of data entry, if a field can only store "09", you put a "09" mask on it, not a "09; " mask and leave it up to someone else to validate.