creating a main menu for a mobile app in python

2019-06-14 16:26发布

I'm have trouble figuring out how to begin a code that displays a main menu. I want this main menu to display 5 different options that when on of them is clicked, it open that page/option. I also have Kivy installed, and the overall goal is to make a mobile app. My python experience is low, so I haven't actually written out any code for this goal but I have a full layout of what I want the app to look like.

Updated:

This is what I have so far.

mainMenu = {}
mainMenu ['1'] = 'Option 1'
mainMenu ['2'] = 'Option 2'
mainMenu ['3'] = 'Option 3'
mainMenu ['4'] = 'Option 4'
mainMenu ['5'] = 'Option 5'

print(mainMenu)
while True:
    selection = input()
    if selection == '1':
        print('Page 1')
    elif selection == '2':
        print('Page 2')
    elif selection == '3':
        print('Page 3')
    elif selection == '4':
        print('Page 4')
    elif selection == '5':
        print('Page 5')
        break

1条回答
姐就是有狂的资本
2楼-- · 2019-06-14 16:51

Please refer to the example below and modify it as per your requirementst. I recommend reading the documentation abound Kivy Dropdown list.

Example

main.py

from kivy.app import App
from kivy.uix.dropdown import DropDown
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config


class SubMenu(DropDown):
    pass


class MainMenu(FloatLayout):

    def display_selected_submenu(self, instance, x):
        print("Page " + x)


class TestApp(App):
    title = "Kivy Drop-Down List Demo"
    Config.set("graphics", "width", "800")
    Config.set("graphics", "height", "480")

    def build(self):
        return MainMenu()


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

test.kv

#:kivy 1.10.0
#:import Factory kivy.factory.Factory

<CustomButton@Button>:
    size_hint_y: None
    height: 40
    font_size: 18


<SubMenu>:
    on_select: app.root.display_selected_submenu(self, args[1])

    CustomButton:
        id: button1
        text: 'Open'
        txt: "1"
        on_release: root.select(self.txt)

    CustomButton:
        id: button2
        text: 'Save'
        txt: "2"
        on_release: root.select(self.txt)

    CustomButton:
        id: button3
        text: 'Exit'
        txt: "3"
        on_release: root.select(self.txt)

<MainMenu>:
    canvas.before:
        Color:
            rgba: 0.5, 0.5, 0.5, 0.5
        Rectangle:
            pos: 0,0
            size: self.width, self.height

    Button:
        id: mainbutton
        text: "File Menu"
        font_size: 20
        size_hint: None, None
        size: 150, 50
        top: root.top
        on_release: Factory.SubMenu().open(self)

Output

Exit Selected & Page 3 printed on console

查看更多
登录 后发表回答