(QML) Flickable не работает должным образом

26

Итак, при создании приложения Ubuntu мне нужно было использовать flickableдля прокрутки, так что теперь у меня есть код вида

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

    ...
  }
}

Когда я запускаю его на своем телефоне (Ubuntu Utopic), положение по умолчанию Flickable на несколько сотен пикселей ниже, чем заголовок. Когда я поднимаю его, он остается в правильном положении, он должен оставаться с самого начала. Кроме того, при использовании PageStack для перемещения другой страницы, затем вернитесь к этой, и она останется в правильном положении. Почему это так и как я могу это исправить, чтобы он мог быть в правильном положении с самого начала.

Примечание : я пробовал много комбинаций с якорями, шириной, высотой, всем. Однажды я заставил его остаться в позиции, но при взмахе он перекрывал заголовок.

user2563892
источник
1
Этот вопрос действительно принадлежит переполнению стека. И вы должны предоставить больший фрагмент кода: я думаю, виновник в содержании. QML - очень хрупкая и причудливая система с множеством нелогичных зависимостей.
Барафу Альбино
2
@BarafuAlbino Я думаю, что это больше подходит здесь, потому что я думаю, что это очень специфично для SDK, не думаю, что сырой qml будет вести себя таким образом. Также это может быть ошибкой, поскольку, как я сказал, при переключении он остается в правильном положении.
user2563892
1
Да, оставьте этот вопрос здесь, где это пойдет на пользу другим разработчикам приложений Ubuntu
mhall119
@ mhall119 Спасибо, что заступились за меня, по крайней мере, они вас выслушают :)
user2563892
3
@BarafuAlbino Этот вопрос совершенно нормально здесь. Вопросы по разработке на Ubuntu находятся в разделе справочного центра .
Сет

Ответы:

0

Есть способ немного qml, чтобы увидеть, что происходит, тем более что все позиции компонентов влияют друг на друга.

Одним из решений было бы сделать то, что вы сделали, чтобы перевернуть фликбет в правильном положении, а затем добавить clip: trueсвойство, чтобы оно не перекрывало заголовок.

binamenator
источник