(QML) Flickable ne fonctionne pas comme supposé

26

Donc, lors de la construction d'une application Ubuntu que je devais utiliser flickablepour le défilement, j'ai maintenant le code du formulaire

Page{
  ...
  Flickable {
    anchors.fill: parent
    content.height: element1.height + element2.height ...

    ...
  }
}

Lorsque je l'exécute sur mon téléphone (ubuntu utopic), la position par défaut du flickable est inférieure de quelques centaines de pixels à celle de l'en-tête. Quand je le feuillette, il reste dans la bonne position, il est censé rester depuis le début. De plus, lorsque vous utilisez pagestack pour pousser une autre page, revenez à celle-ci, elle reste dans la bonne position. Pourquoi est-ce et comment puis-je le réparer, afin qu'il puisse être dans la bonne position dès le départ.

Remarque : j'ai essayé de nombreuses combinaisons avec des ancres, largeur, hauteur, tout. Une fois, je l'ai fait rester dans la position, mais lorsque je l'ai effleuré, il a chevauché l'en-tête.

user2563892
la source
1
Cette question appartient vraiment à Stack Overflow. Et vous devriez fournir un plus gros extrait de code: je pense que le coupable est dans le contenu. QML est un système très fragile et fantaisiste avec beaucoup de dépendances illogiques.
Barafu Albino
2
@BarafuAlbino Je pense qu'il convient mieux ici parce que je pense que c'est très spécifique au SDK, ne pensez pas que le qml brut se comporterait de cette façon. Cela pourrait également être un bug, comme je l'ai dit lors du basculement, il reste dans la bonne position.
user2563892
1
Oui, veuillez laisser cette question ici où elle bénéficiera aux autres développeurs d'applications Ubuntu
mhall119
@ mhall119 Merci de me défendre, au moins ils vous écouteront :)
user2563892
3
@BarafuAlbino Cette question est parfaitement bien ici. Les questions sur le développement sur Ubuntu sont abordées dans le centre d'aide .
Seth

Réponses:

0

Il y a moyen de peu de qml pour voir ce qui se passe, d'autant plus que toutes les positions des composants s'influencent mutuellement.

Une solution serait de faire ce que vous avez fait pour mettre votre scintillement dans la bonne position, puis d'ajouter la clip: truepropriété pour l'empêcher de chevaucher l'en-tête.

binamenator
la source