python Kivy více štítků

hlasů
0

Snažím se, aby se více štítků v cyklu for, ale já jsem vždycky dostat problém s podivné. Přestože program prochází celý cyklus for to neznamená, že všechny štítky. Zde je kód:

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label

class MyWidget(Widget):
    def draw(self):
        with self.canvas:           

            for i in range(6):
                print('I draw label')
                Label(text = 'hello', pos=(i*100, 100))
class MyApp(App):
    def build(self):
        game = MyWidget()
        game.draw()
        return game

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

Jestli někdo ví, co dělám špatně, nebo jak byste problém vyřešit, prosím dejte mi vědět.

Položena 26/05/2013 v 10:29
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
3

Ok, pár věcí se tady špatně.

plátno je určen pro gl instrukce, je to doslova, kde se „malovat“ widget, ne celé widgetů (jako Label je).

Při vytváření widgetu, pokud chcete, aby to bylo vidět, musíte ji přidat do mateřského widgetu (samo o sobě viditelné, protože přidá k viditelnému rodičem), zde chápu záměrem je, aby tyto štítky, aby děti svého gamewidgetu tak změnit MyWidget.draw na něco jako:

    def draw(self):
        for i in range(6):
            print('I draw label')
            self.add_widget(Label(text='hello', pos=(i*100, 100))

by měl dělat to, co chcete.

Odpovězeno 26/05/2013 v 11:22
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more