Hei Vieras. Muista myös tilata maksullinen palvelumme

Kirjoittaja Aihe: Näytön skrollaus ongelma  (Luettu 4700 kertaa)

Poissa VonHatte

  • Tulokas
  • *
  • Viestejä: 5
    • Profiili
Näytön skrollaus ongelma
« : 07.08.14 - klo:15:44 »
Minulla ei ole paljoa kokemusta Qt:sta joten kysymykseeni on luutavasti hyvin yksinkertainen vastaus  :)

Minulla on applikaatiossa sivu jossa on kaksi listviewiä päällekäin joista alemmassa rivissä elementtejä jotka vaativat näytön skrollausta oikealle. Mikä olisi paras tapa saada tämä ylempi listview pysymään staattisesti paikoillaan kun toista skrollataan? Ylemmässä listviewissä on tekstiä jonka haluaisin pysyvän näkyvissä koko ajan. Olen jopa yrittänyt "siirtää" ylemmän listviewin tekstiä sen mukaan kun näyttöä skrollataan, mutta se tuntuu "vähän" tökeröltä ratkaisulta.

Toivottavasti joku osaa auttaa miestä mäessä jotta pääsen jatkamaan applikaatiossa eteenpäin :) 


Poissa saildev

  • Yleisvalvoja
  • Tulokas
  • *****
  • Viestejä: 10
    • Profiili
Vs: Näytön skrollaus ongelma
« Vastaus #1 : 10.08.14 - klo:19:49 »
Simppelit asiat eivät aina ole niitä helpoimpia, vai miten se menikään? ???

Eli sulla on siis 2 ListView elementtiä (kai käytät SilicaListView etkä Qt:n omaa ListView QML elementtiä?) ja toinen näyttää vain ja ainoastaan tekstiä, joka ei saisi liikkua minnekään? Ensinnäkin, miksi käytät ListView objektia tekstin näyttämiseen, jos sitä ei ole tarkoitus käyttää muuhun?

Mutta itse vastaus ongelmaan on suhteellisen helppo. Mikäli et halua scrollata ListView objektia, niin yksinkertaisesti otat sen pois käytöstä, enabled: false komennolla. Näin käyttäjä ei pääse sitä kontrolloimaan millään tasolla.

JollaSuomi Foorumi

Vs: Näytön skrollaus ongelma
« Vastaus #1 : 10.08.14 - klo:19:49 »

Poissa VonHatte

  • Tulokas
  • *
  • Viestejä: 5
    • Profiili
Vs: Näytön skrollaus ongelma
« Vastaus #2 : 21.08.14 - klo:13:51 »
Ollut lähiaikoina perheenlisäys rintamalla sen verran kiire, että ei ole pahemmin kerinnyt tehdä projektia eteenpäin  :)

Kiitoksia vastauksesta saildev! Näköjään käytän Qt:n omaa ListView elementtiä... Pitääpäs tutkia SilicaListViewiä.

Selitin asiani hiukan epäselvästi. Eli ylempi Listview kuuluu myös olla skrollattava mutta vertikaali tasossa eikä horisontaali kuten alempi listview. Joka tapauksessa löysin ratkaisun ongelmaani. Olin hoitanut skrollauksen asettamalla page contentin leveydeksi listviewin leveyden. Ja kun scrollaan sivua enkä listviewiä, niin tietenkin ylempikin listview skrollautuu sivulle.

Seuraava ongelma liittyy modeliin. Model sisältää listan dataa jota haluaisin käyttää toisessa listvieweistä. Tähän asti en ole löytänyt muuta tapaa päästä käsiksi listaan kuin repeaterin. Se ei kuitenkaan mielestäni oikein käy tähän. Miksi en vain voi asettaa listvievin modeliksi modelin listaa esim. model: myModel.List ?

edit. Sekoilua.
« Viimeksi muokattu: 21.08.14 - klo:22:34 kirjoittanut VonHatte »

Poissa saildev

  • Yleisvalvoja
  • Tulokas
  • *****
  • Viestejä: 10
    • Profiili
Vs: Näytön skrollaus ongelma
« Vastaus #3 : 11.12.14 - klo:17:25 »
Etpä ole ainut kellä on kiireitä... Pahoittelut näinkin myöhästyneestä vastauksesta! ^^

Haluatko lähettää koko lähdekoodin? Ja voisitko hieman täsmentää kysymystä tai tavoitetta. En oikein pääse käsiksi nyt tähän, että mitä olet hakemassa...

Poissa micko

  • Tulokas
  • *
  • Viestejä: 8
    • Profiili
Vs: Näytön skrollaus ongelma
« Vastaus #4 : 21.01.15 - klo:21:03 »
Lainataan ketjua, kun otsikko sopii omaan probleemaan.

Ongelmainen kooditiedosto on nähtävillä https://bitbucket.org/mikko_laine/gym-logbook/src/0ff1d05748533f65ed88b17afe138bde85b29396/qml/pages/NewWorkout.qml?at=master ja itse ohjelman, Gym Logbookin, saa Warehousesta eilisillasta lähtien.

Kyseessä on siis Dialogi, jossa ensin pari TextAreaa ja Label, joiden jälkeen SilicaListView, johon mahdollista lisätä nappulalla lisää TextAreoita. Kaikki muu, eli Columnit ja SilicaFlickablet, mitä tuolla lähdekoodissa näkee, on lisätty päänhakkausmetodilla ja vihdoin saatu ne asettumaan jotenkin nätisti. Ongelmana pitkään oli, että SilicaListView näytti aina vain yhden TextArean vaikka niitä olisi pitänyt olla useita. Se ratkesi jossain välissä jotenkin.

Nyt on ongelmana, että skrollatessa vain SilicaListView:n sisältö skrollautuu. TextAreoihin pitäisi kuitenkin pystyä kirjoittamaan, jolloin homma menee turhan ahtaaksi näppiksen kanssa. Haluaisin skrollata koko Dialogia.

Ymmärrykseni QML:stä on tasoa yritys ja erehdys. Kiitokset, jos joku neuvoo.

JollaSuomi Foorumi

Vs: Näytön skrollaus ongelma
« Vastaus #4 : 21.01.15 - klo:21:03 »