2015-06-26 2 views

ответ

1

Насколько я знаю, это невозможно сделать напрямую. Можно, однако, обмануть, используя невидимый элемент, содержащий свойства, нужно:

Text { 
    id: hiddenText 
    anchors.fill: tf 
    text: tf.text 
    font.pixelSize: tf.font.pixelSize 
    visible: false 
} 

TextField { 
    id: tf 
    width: 100 
    height: 60 
    font.pixelSize: 25 
    onTextChanged: { 
     while ((hiddenText.contentWidth > hiddenText.width) || (hiddenText.contentHeight > hiddenText.height)) { 
      font.pixelSize -= 1 
     } 
    } 
} 

Вы должны сделать то же самое для расширения текста, в случае, если пользователь удаляет некоторые материалы. Компонент Text не содержит границ, поэтому вам нужно уменьшить его width на несколько пикселей, чтобы сделать его того же размера, что и TextField.

Кроме того, ознакомьтесь с TextArea или TextInput. Они могут соответствовать вашим потребностям.

Смежные вопросы