Я разработал образец проекта Qt QML, включающий ComboBox. Я наблюдаю разное поведение при запуске этого проекта в Qt 5.14 и Qt 5.7.
В частности, высота всплывающего окна ComboBox автоматически рассчитывается и корректируется в Qt 5.14, в то время как этот автоматический расчет высоты не выполняется. встречаются в Qt 5.7.
Я просмотрел документацию Qt для обеих версий, но не могу точно определить причину этого несоответствия. Может ли кто-нибудь помочь мне с этим?
============================= =============================
Ниже приведен пример кода проекта:
import QtQuick 2.14
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle {
width: 300
height: 200
ComboBox {
id: myComboBox
x: 50
y: 50
width: 200
model: ListModel {
ListElement { text: "Option 1" }
ListElement { text: "Option 2" }
ListElement { text: "Option 3" }
ListElement { text: "Option 4" }
ListElement { text: "Option 5" }
}
currentIndex: 3
Component.onCompleted: {
console.info("height : ", myComboBox.height);
console.info("myComboBox.popup.height: ", myComboBox.popup.height);
console.info("myComboBox.model.count: ", myComboBox.model.count);
}
}
}
}
Здесь код заканчивается.
Это выходные данные приложения примера проекта Qt 5.14:
qml: height : 40
qml: myComboBox.popup.height: 205
qml: myComboBox.model.count: 5
====================
Это выходные данные приложения Qt 5.7 пример проекта:
qml: height : 40
qml: myComboBox.popup.height: 0
qml: myComboBox.model.count: 5
Подробнее здесь: https://stackoverflow.com/questions/793 ... in-qt-5-14