(QML) Flickable tidak berfungsi sebagaimana mestinya

26

Jadi, ketika membangun aplikasi Ubuntu saya perlu menggunakan flickableuntuk menggulir, jadi sekarang saya memiliki kode formulir

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

    ...
  }
}

Ketika saya menjalankannya di ponsel saya (ubuntu utopic), posisi default flickable adalah beberapa ratus piksel lebih rendah daripada header. Ketika saya menjentikkannya, itu tetap di posisi yang benar itu seharusnya tetap dari awal. Juga, ketika menggunakan pagestack untuk mendorong halaman lain, kemudian kembali ke halaman ini tetap di posisi yang tepat. Mengapa ini dan bagaimana saya bisa memperbaikinya, sehingga bisa berada di posisi yang tepat sejak awal.

Catatan : Saya sudah mencoba banyak kombinasi dengan jangkar, lebar, tinggi, semuanya. Suatu kali saya mendapatkannya untuk tetap di posisi, tetapi ketika menjentikkannya tumpang tindih header.

pengguna2563892
sumber
1
Pertanyaan ini benar-benar milik Stack Overflow. Dan Anda harus memberikan potongan kode yang lebih besar: Saya pikir pelakunya adalah konten. QML adalah sistem yang sangat rapuh dan aneh dengan banyak dependensi tidak masuk akal.
Barafu Albino
2
@BarafuAlbino Saya pikir lebih cocok di sini karena saya pikir itu sangat spesifik SDK, jangan berpikir bahwa qml mentah akan berperilaku seperti ini. Juga ini bisa menjadi bug, seperti yang saya katakan ketika membalik itu tetap berada di posisi yang tepat.
user2563892
1
Ya, silakan tinggalkan pertanyaan ini di sini di mana ia akan menguntungkan pengembang aplikasi Ubuntu lainnya
mhall119
@ mhall119 Terima kasih telah membela saya, setidaknya mereka akan mendengarkan Anda :)
user2563892
3
@BarafuAlbino Pertanyaan ini baik-baik saja di sini. Pertanyaan tentang pengembangan di Ubuntu adalah pada topik per pusat bantuan .
Seth

Jawaban:

0

Ada cara untuk sedikit qml untuk melihat apa yang terjadi, terutama karena semua posisi komponen saling mempengaruhi.

Salah satu solusinya adalah melakukan hal yang Anda lakukan untuk membuat flickable Anda di posisi yang benar, dan kemudian menambahkan clip: trueproperti untuk menghentikannya dari tumpang tindih header.

binamenator
sumber