对于我的qml项目,我有一个按钮可以切换元素的视图。调用函数来更改宽度/高度
function toggleView()
{
if( pageSavedFiles.listViewToggle == true)
{
pageSavedFiles.cellWidth = parent.width;
pageSavedFiles.loaderWidth = parent.width
pageSavedFiles.cellHeight = 50
imageViewMode.source = "design/List view.png"
pageSavedFiles.listViewToggle= false
}
else
{
pageSavedFiles.loaderWidth = 150
pageSavedFiles.cellWidth = 170
pageSavedFiles.cellHeight = 170
imageViewMode.source = "design/Grid view.png"
pageSavedFiles.listViewToggle= true
}
}
问题是调整大小后,使用 parent.width 时不会调整宽度。我的猜测是它只设置一次,调整大小后不会再次计算。我怎样才能将它绑定到父宽度,以便它连续等于父宽度,而不是只设置一次。
要在一段 Javascript 中创建绑定,您需要执行以下操作:
pageSavedFiles.cellWidth = Qt.binding(function() { return parent.width; } )