我有一個簡單的頁面,在我的應用程序:QML的ListView間距毛刺
import QtQuick 2.5
import QtQuick.Controls 2.0
Page {
ListView {
anchors.fill: parent
model: 50
delegate: Item {
clip: true
height: 50
anchors {
left: parent.left
right: parent.right
}
Rectangle {
color: "red"
anchors.fill: parent
}
Label {
text: index
}
}
}
}
有時,當我在滾動,我看行之間的間距,但間距爲0。我想這是某種座標舍入錯誤。我追蹤了可能的問題來源 - 剪輯:在委託內部是真實的。如果我刪除它,那麼一切都很好。
這是Qt的錯誤,我該如何解決它?在代理的根節點至少不是 -
紅色的背景會爲你解決;除此之外,你可以做的事情並不多,儘管這種特殊的情況並不需要裁剪。也許如果你發佈你的實際委託,我們可以想辦法隱藏這些工件。此外,性能似乎是一個因素,因爲在一臺速度很快的機器上,我幾乎看不到任何空間,完全不像您的情況。 – dtech
@ddriver我在界限外拖動時看到空格。是的,背景可以解決這個問題,但我認爲這是最後的解決方案 –
這是由臭名昭着的qml jiggies引起的 - 綁定鏈需要時間進行評估,有時它們不會在同一個框架中評估,導致jiggy/elastic僞像。在你的情況下,這可能是因爲紅色的矩形位置與委託項目不同步,導致它剪切矩形的一部分並顯示背後的白色背景。不,沒有什麼可以做,以防止它,至多你可以隱藏它。 – dtech