@12rbah

Как показать текст целиком, если он больше размера Combobox?

Такая проблема, что если длина текста превышает размер Combobox, то он отображается как "Пример ... текста", можно ли как-нибудь убрать это троеточие и сделть так, чтобы текст отображался полностью?
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Flysink
Можно рассчитать ширину, например:

ui.qml:
property int minimumWidth: minimumWidth

ComboBox {
        id: comboBox
        width: minimumWidth
        model: ["Пример очень длинного текста", "Текст 2"]
}

В qml:
Component.onCompleted: minimumWidth = resizeComboBox(comboBox)

function resizeComboBox(id) {
      var w = 0;
      if(id.count === 0)
        return id.width;

      var original_index = id.currentIndex;
      if(original_index < 0)
         return id.width;

      do {
           w = Math.max(w, id.contentItem.contentWidth);
           id.currentIndex = (id.currentIndex + 1) % id.count;

      } while(id.currentIndex !== original_index)

      return w + id.contentItem.leftPadding + id.contentItem.rightPadding + id.indicator.width;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы