Seite 1 von 1

Wie erstellt man unter Python Kivy zweite Button?

Verfasst: Mittwoch 18. Mai 2022, 14:49
von PrinzPersia
Hallo.

Also ich versuche unter Kivy so zu machen, das mir dann zwei Schalter (Buttons) anzeigt und habe diese Methode probiert:

Code: Alles auswählen

import os
os.environ['KIVY_IMAGE'] = 'pil,sdl2'

import kivy
kivy.require('1.9.0') # Mindest-Version von Kivy

from kivy.app import App
from kivy.uix.button import Button

class HelloApp(App):

    def build(self):
        Schalter = Button(text='Hallo Welt!')
        Schalter2 = Button(text="Hallo Welt")
        return Schalter
        return Schalter2  

if __name__== "__main__":
    HelloApp().run()
Allerdings wird mir trotzdem nur ein Button angezeigt:

Bild

Weiß jemand wie man zweiten Button erstellt?

Re: Wie erstellt man unter Python Kivy zweite Button?

Verfasst: Mittwoch 18. Mai 2022, 15:16
von __blackjack__
@PrinzPersia: ``return`` beendet die Funktion. Das zweite ``return`` kann danach nicht mehr ausgeführt werden. Es wäre auch komisch weil undefiniert was denn zwei ``return`` überhaupt bedeuten sollen. Da steht *der* Rückgabewert dahinter. Mehrere müssten dann ja irgendwie zusammengefasst werden. Aber wie? Als Tupel? Als Liste? So funktioniert das nicht.

Die `build()`-Methode muss das zurückgeben was in der GUI angezeigt werden soll. Also *ein* Widget (das die Wurzel eines Widgetbaums sein kann). Wenn es mehrere sein sollen, müssen die in einem entsprechenden Containerwidget zusammengefasst werden. Bei Kivy beispielsweise in einem Layout-Objekt wo die beiden Buttons irgendwie angeordnet werden (übereinander/nebeneinander).

Re: Wie erstellt man unter Python Kivy zweite Button?

Verfasst: Mittwoch 18. Mai 2022, 15:25
von __deets__
Fairerweise muss man sagen, dass mit "yield" ja schon eine Moeglichkeit existiert, mehrfach Dinge zurueckzugeben. Der Gedanke, dass return das kann, liegt nicht so fern. Aber so ist es eben nicht gedacht in Kivy.

Re: Wie erstellt man unter Python Kivy zweite Button?

Verfasst: Mittwoch 18. Mai 2022, 15:56
von Kebap
Es wäre ratsam, sich einmal die Kivy Anleitung vorzunehmen, und die Beispiele daraus durchzuarbeiten, zum Beispiel hier:

https://kivy.org/doc/stable/guide/basic.html#quickstart

Da werden auch schon mehr als zwei Buttons benutzt.