[Решен] Проблем с 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 това става само когато му се преизчислява размера. Може и да е някой бъг ..



  • A има ли някакъв event който да се изпълнява при стартирането на програмата аз търсих ама нищо не открих ?



  • @
    import QtQuick 1.0

    Flickable
    {
    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 има опция за това), за да не ти блокират графиката, докато се заредят. ;)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.