我想實現的圖像瀏覽器(排序):使用C++和QMLQT5 QML ListView的內容放大
- 模型/視圖的方法
- 的照片僅僅是
ListView
填補與Image
(委託)項
這裏是一段代碼:
property double zoomFactor: 1.5;
property double imgScale: 1;
CustomToolBar
{
id: toolBar
onZoomInSignal:
{
imgScale = imgScale*zoomFactor;
}
onZoomOutSignal:
{
imgScale = imgScale/zoomFactor;
}
onZoomFitSignal:
{
imgScale = 1;
}
}
Rectangle
{
id: bgRect
Layout.fillWidth: true
Layout.fillHeight: true
color: "Grey"
anchors.margins: 10
ScrollView
{
id: scrollView
anchors.fill: parent
ListView
{
id: listView
anchors.fill: parent
clip: true
spacing: 10
model: listItemModel
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
anchors.margins: 10
boundsBehavior: Flickable.StopAtBounds
delegate: Image
{
id: item_id
anchors.horizontalCenter: parent.horizontalCenter
source: item_img_path + "/" + Math.random()
scale: imgScale
}
}
}
}
圖像加載正確,我需要能夠縮放它們。
爲了放大,我只是修改Image
委託人的scale
財產。
- 圖像不進行縮放(
scale = 1
)正確:
- 圖像未縮放(
scale = 1/1.5
)錯了! (?)間距的圖像正在增加:
- 圖像縮放(
scale = 1.5
)錯了!圖像重疊:
正如你所看到的,變焦減去增量間距(我非常不知道它是真正的間距)的圖像之間,並且變焦加上重疊圖片。
此外,在放大時爲ScrollView
設置水平滾動條會很好,但我無法做到這一點。
任何人都可以幫助我嗎?
感謝
編輯:
繼grillvott圖像提出了solution被放大/縮小正確,但整個ListView
正變得越來越小/大與他們:
結果應該是這樣的東西( GIMP模式ON):
任何想法?
幫助我理解你,圖像應該是什麼樣子,在輸入/輸出的情況下縮放?就像尺寸1一樣大小? – Cits
好吧,它們應該更小/更大,正如你可以在屏幕截圖中看到的那樣,但它們應該保持互相之間的一致性,因爲它們的scale = 1。 – Giancarlo