Kivy с использованием ScreenManager из KV -файлаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Kivy с использованием ScreenManager из KV -файла

Сообщение Anonymous »

Я пишу программу/игру Kivy. Я сделал один раньше, но был всего лишь 1 экран. Я начал разработать новую программу с идеями реализации экрана . Мне удалось построить диспетчер экрана внутри файла Python, но он не подходил для моего долгосрочного использования, и я хотел попробовать свои силы в диспетчере экрана из файла .kv .

Любое руководство будет очень оценено, не уверен, что я пропустил. Я посмотрел на этот вопрос (Kivy - Screen Manager - доступ к атрибуту в другом классе) и собрал воедино то, что я считал правильным, но все еще не могу получить экран для загрузки - я чувствую, что это простой ответ, и я слеп ... < /p>

main.py;from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition

class MenuScreen(Screen):
pass

class NewGameScreen(Screen):
pass

class LoadGameScreen(Screen):
pass

class ASCIILifeApp(App):
pass

if __name__ == "__main__":
ASCIILifeApp().run()
< /code>

asciilife.kv;

#: kivy 1.9
#: import ScreenManager kivy.uix.screenmanager.ScreenManager
#: import Screen kivy.uix.screenmanager.ScreenManager
#: import NewGameScreen screen
#: import LoadGameScreen screen

ScreenManager:
id: screen_manager
#transition: FadeTransition()
MenuScreen:
id: menu_screen
name: 'MenuScreen'
manager: 'screen_manager'
NewGameScreen:
id: newgame_screen
name: 'NewGameScreen'
manager: 'screen_manager'
LoadGameScreen:
id: loadgame_screen
name: 'LoadGameScreen'
manager: 'screen_manager'

:
BoxLayout:
orientation: 'vertical'
Label:
text: 'ASCII Life'
font_size: 50
Button:
text: 'New Game'
font_size: 30
on_release: app.root.current = 'newgame'
Button:
text: 'Load Game'
font_size: 30
on_release: app.root.current = 'loadgame'
Button:
text: 'Settings'
font_size: 30
on_release: app.root.current = 'something'
:
BoxLayout:
orientation: 'vertical'
BoxLayout:
orientation: 'vertical'
Label:
text: 'Game Length in Days'
font_size: 30
BoxLayout:
orientation: 'horizontal'
ToggleButton:
text: '100'
state: 'down'
group: 'newgame_days'
font_size: 30
ToggleButton:
text: '200'
group: 'newgame_days'
font_size: 30
BoxLayout:
orientation: 'horizontal'
ToggleButton:
text: '365'
group: 'newgame_days'
font_size: 30
ToggleButton:
text: '3650'
group: 'newgame_days'
font_size: 30
ToggleButton:
text: 'Unlimited'
group: 'newgame_days'
font_size: 30
BoxLayout:
orientation: 'vertical'
size_hint: (1, .5)
Label:
text: 'Difficulty (Score Multiplier)'
font_size: 30
BoxLayout:
orientation: 'horizontal'
ToggleButton:
text: 'Easy (x1)'
state: 'down'
group: 'newgame_difficulty'
font_size: 30
ToggleButton:
text: 'Medium (x2.5)'
group: 'newgame_difficulty'
font_size: 30
ToggleButton:
text: 'Hard (x5)'
group: 'newgame_difficulty'
font_size: 30
:
BoxLayout:
orientation: 'vertical'
Label:
text: 'load a game'
font_size: 30
Widget:
canvas:
Ellipse:
pos: self.pos
size: self.size
BoxLayout:
Button:
text: 'Menu'
font_size: 30
on_release: app.root.current = 'menu'
Button:
text: 'text'
font_size: 30
< /code>

Изменить: усеченный kv -файл < /p>

Подробнее здесь: https://stackoverflow.com/questions/347 ... om-kv-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»