Hallo zusammen,
Ich habe einen Screen, welcher über zwei Listen verfügt, die TemplatedMultiContent verwenden.
Code
skin = """
<screen name="myScreen" position="center,center" size="820,615">
<widget font="Regular;20" halign="center" name="text" position="10,10" size="800,595" valign="center" zPosition="3"/>
<widget source="menu" render="Listbox" position="10,10" size="250,595" scrollbarMode="showOnDemand" zPosition="2">
<convert type="TemplatedMultiContent">
{"templates": {
"default":(65, [
MultiContentEntryText(pos=(595,10), size=(0,0), text=0),
]),
"split": (65,
[
MultiContentEntryPixmapAlphaBlend(pos=(5,20), size=(25,25), png=1),
MultiContentEntryText(pos=(50,20), size=(200,30), font=0, text=0),
]),
},
"fonts": [gFont("Regular",20),gFont("Regular",14)],
}
</convert>
</widget>
<!--widget source="list" render="Listbox" position="260,10" size="540,595" scrollbarMode="showOnDemand" zPosition="1"-->
<widget source="list" render="Listbox" position="10,10" size="800,595" scrollbarMode="showOnDemand" zPosition="1">
<convert type="TemplatedMultiContent">
{"templates": {
"default": (65,
[
MultiContentEntryPixmapAlphaBlend(pos=(5,20), size=(25,25), png=1),
MultiContentEntryText(pos=(130,20), size=(670,30), font=0, text=0),
MultiContentEntryText(pos=(100,5), size=(700,25), font=0, text=2),
MultiContentEntryText(pos=(100,30), size=(700,20), font=1, text=3),
MultiContentEntryText(pos=(100,47), size=(700,20), font=1, text=4),
MultiContentEntryPixmapAlphaBlend(pos=(20,12), size=(14,14), png=5),
]),
"split": (65,
[
MultiContentEntryText(pos=(350,5), size=(440,25), font=0, text=2),
MultiContentEntryText(pos=(350,30), size=(440,20), font=1, text=3),
MultiContentEntryText(pos=(350,47), size=(440,20), font=1, text=4),
MultiContentEntryPixmapAlphaBlend(pos=(270,12), size=(14,14), png=5),
]),
},
"fonts": [gFont("Regular",20),gFont("Regular",14)],
}
</convert>
</widget>
</screen>"""
Alles anzeigen
Ich möchte gerne zwischen zwei Styles umschalten, wobei der Defaultstyle eigentlich nur "list" verwendet und der Style split beide Listen. Nun würde ich gerne die Liste "menu" beim Defaultstyle gar nicht anzeigen. Leider habe ich das bis jetzt nicht geschafft. Fehler: "AttributeError: 'List' object has no attribute 'show'".
Mir ist bewusst, dass ich zwei unterschiedliche Screens definieren könnte, um das Problem zu umgehen. Aber eigentlich wäre es doch schöner, wenn auch solche Elemente über show()/hide() ein- und ausgeblendet werden könnten.
Any idea?
Gruss
Dre