记录一下,以备以后查阅
property int conY: 0
function qmlListModelUpdata()
{
comboBoxContentListView.contentY = conY
}
ListView
{
id:list
onContentYChanged:
{
if(contentY !=0)
{
conY = contentY
}
}
}
//onListModelChanged:
//{
// list.contentY = conY
//}
当用c++端模型时,有些界面上的显示操作,会由c++端来控制,这时就会使用到模型刷新,导致listview的index重置到开头。
如果想要保持界面位置维持不动,需要用一个变量conY来保存刷新前的位置。刷新后重新把contentY的值赋给listview。(contentY保存当前listview最顶端位置)
如果发出模型刷新信号的c++端和qml同属于一个界面时,可以直接使用信号和槽。
如果qml端是一个qml又附在一个qml上时,则使用function函数作为qml的属性句柄引出去,供下层界面调用,使用方法为,在下层槽函数中直接调用。(创建qml的id名.function名)