Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python: kivy ListView valinta

lrp [30.12.2017 20:14:02]

#

Kun painaa listan osia hiirellä niin vain joka toisella kerralla saa valitun listanosan.

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.listview import ListItemButton
from kivy.properties import ObjectProperty


class ListButton(ListItemButton):
	pass


class ListViewer(BoxLayout):
	person_list = ObjectProperty()

	def choose_from_list(self):
		if self.person_list.adapter.selection:
			selection = self.person_list.adapter.selection[0].text
			print(selection)


class ListViewerApp(App):
	def build(self):
		return ListViewer()


if __name__ == '__main__':
	ListViewerApp().run()

ja listviewer.kv tiedosto

#: import main listahommaa2
#: import ListAdapter kivy.adapters.listadapter.ListAdapter
#: import ListItemButton kivy.uix.listview.ListItemButton

	person_list: person_list_view
	ListView:
		id: person_list_view
		adapter:
			ListAdapter(
			data=['Joe', 'Mary', 'Ben', 'Alfred']
			, cls=main.ListButton)
		size_hint_y: None

    height: "80dp"
    size_hint_y: None
    on_press: app.root.choose_from_list()

Grez [30.12.2017 20:24:57]

#

Oliko tämä siis ajateltu koodivinkiksi, vai?

lrp [30.12.2017 20:30:49]

#

Ei kun toi ei toimi niinkuin haluaisin. Kun painaa listan jäsentä niin mitään ei tapahdu. Kun painaa seuraavan kerran jotain listan osaa niin sitten tulostuu.

print(selection)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta