[Kde-br] Ajudinha com QML

Tomaz Canabrava tcanabrava em kde.org
Quinta Maio 24 14:49:38 UTC 2012


2012/5/24 Rodrigo Oliveira <mdkcore em gmail.com>:
> Você não pode atribuir ids.
>
> Creio que para o que tu estás fazendo, pode tentar utilizar States +
> PropertyChanges, da uma olhada:
> http://qt-project.org/doc/qt-4.8/qml-state.html
>
> E boa sorte ;)

Eu pensei em usar States + PropertyChanges, mas isso daria um trabalho
consideravel, pois teria que fazer um estado para cada transição de
slide, imagino que tenha uma solução melhor, utilizando JavaScript pra
controlar isso.

Acho que terei que usar um ListModel  programar uma View, já que com
isso eu consigo mudar o CurrentIndex de forma mais simples.

Ou enviar a lista de ID's que eu quero pra o JavaScript, e montar um
array com eles.
hm....

> 2012/5/24 Tomaz Canabrava <tcanabrava em kde.org>:
>> Negos,
>>
>> Estou pela primeira vez tentando estudar QML de forma séria, e com
>> alguns problemas, aparentemente o QML é estático, precisando de ajuda
>> de JavaScripts externos ou integração com o C++ para funcionar com um
>> pouco de programação.
>> O que estou tentando fazer:
>>
>> Sistema pequeno de apresentação de Slides, com navegação manual pelo teclado.
>>
>>
>> O que consegui fazer:
>>
>> Criei módulos novos do QML para Botão, Page, Title, então tenho algo
>> próximo a isso aqui:
>>
>>
>> import QtQuick 1.0
>> import "controller.js" as Controller
>>
>> Rectangle{
>>    id: presentation; width: 800; height:600;
>>    property QtObject current : p1; // O slide exibido atualmente.
>>
>>    Page{ id: p1; Title{ text: "Pagina 1"; } ; visible : true; }
>>    Page{ id: p2; Title{ text: "Pagina 2"; } ; visible : false; }
>>    Page{ id: p3; Title{ text: "Pagina 3"; } ; visible : false; }
>>    Page{ id: p4; Title{ text: "Pagina 4"; } ; visible : false; }
>>
>>   Button{
>>      text: "→";
>>      onClicked : {
>>             presentation.current.visible = false;
>>             presentation.current = Controller.next();
>>            presentation.visible = true;
>>     }
>>   }
>>
>>   Keys.onLeftPressed: {
>>             presentation.current.visible = false;
>>             presentation.current = Controller.next();
>>            presentation.visible = true;
>>     }
>> }
>>
>> E a implementação do Controller.next é:
>>
>> var pos = 0;
>> function next(){
>>     return "p"+pos++;
>> }
>>
>>
>> Eu sei que está errado, pois eu preciso retornar o ID ao invés de uma
>> String, o problema é que não tenho a menor idéia de como fazer isso, e
>> nos exemplos que vem com o Qt, me perdi no código, eles passam de algo
>> básico pra algo bastante avançado,
>> tou perdidinho perdidinho. =(
>>
>> Tomaz
>> _______________________________________________
>> Kde-br mailing list
>> Kde-br em kde.org
>> https://mail.kde.org/mailman/listinfo/kde-br
>
>
>
> --
> ⠠⠵
> --
> --- Projects ---
> -- http://projects.thecoreme.org --
> --- Blog ---
> -- http://blog.thecoreme.org --
> --
> _______________________________________________
> Kde-br mailing list
> Kde-br em kde.org
> https://mail.kde.org/mailman/listinfo/kde-br


Mais detalhes sobre a lista de discussão Kde-br