[Решен] Проблем с Flickable
-
@import QtQuick 1.0
Flickable
{
width: 200;
height: 200;
contentWidth: image.width; // 550
contentHeight: image.height; //500
contentX: 350;
contentY: 300;Image { id: image; source: "http://www.tu-plovdiv.bg/i/map_3and4_big.jpg" ; }
}@
когато пиша това тези два реда все едно не съществуват:
@contentX: 350;
contentY: 300;@но когато изображението е по голямо примерно 1024x1024 contentX и contentY работят
-
Аз лично нямам обяснение... Като гледам логовете от промените на свойствата, нещо се преизчислява, когато се създават Flickable и Image и contentX и contentY се зануляват. Според сорс кода на Flickable това става само когато му се преизчислява размера. Може и да е някой бъг ..
-
@
import QtQuick 1.0Flickable
{
width: 200;
height: 200;
contentWidth: image.width; // 550
contentHeight: image.height; //500
contentX: 350;
contentY: 300;Component.onCompleted: { /// javascript кода } Image { id: image; source: "http://www.tu-plovdiv.bg/i/map_3and4_big.jpg" ; }
}
@Това е синтаксиса, но не става. Пробвах, но след като ги сетна там, нещо ги променя обратно.
Предполагам, че картинката като зареди се преизчисляват някои неща заради
@contentWidth: image.width; // 550
contentHeight: image.height; //500
@Картинката ти е на отдалечен компютър, за това се зарежда асинхронно и когато се създава компонента, все още не се знаят нейните размери. Въпреки всички поведението ми е странно и ми се вижда, че е бъг. У нас пробвах с различни картинки и размери, все същото става.
-
Само като хинт: Ако картинките са много големи е добре да ги пуснеш с асинхронно зареждане(Image има опция за това), за да не ти блокират графиката, докато се заредят. ;)