• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Python kivy - текст по нажатию

26.11.2020
10
0
BIT
0
Здравстсвуйте. Я пишу turn-based игру на python kivy. Мне нужно завершение хода.
Python:
from kivy.app import App

from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.config import Config

Config.set('graphics', 'resizable', '0')
Config.set('graphics', 'height', '480')
Config.set('graphics', 'width', '800')

class CityGame(App):
    def build(self):
        global build_popup
        # Строить
        gl_2 = GridLayout(rows=3, padding=[7, 7, 7, 7], spacing=[7])
        gl_2.add_widget( Button(text='Жильё'))
        gl_2.add_widget( Button(text='Социальное'))
        gl_2.add_widget( Button(text='Обеспечние'))
        gl_2.add_widget( Button(text='Развлечения'))
        gl_2.add_widget( Button(text='Коммерция'))
        gl_2.add_widget( Button(text='Индустрия'))
        gl_2.add_widget( Button(text='Постройки'))
        close_button = Button(text='Закрыть')
        gl_2.add_widget( close_button )
        build_popup = Popup(title='Что строим?', content=gl_2, size=(300, 300))
        close_button.bind(on_press=build_popup.dismiss)
        # Начальный экран
        bl = BoxLayout(orientation='vertical', padding=25)
        self.lbl = Label(text="0", font_size = 20)
        bl.add_widget( self.lbl )
        gl = GridLayout(cols=3, padding=[20, 20, 20, 0], spacing=[15])
        gl.add_widget( Button(text='Меню'))
        gl.add_widget( Button(text='Строить', on_press=self.bp_open))
        gl.add_widget( Button(text='Завершить ход'))
        gl.add_widget( Button(text='Статистика'))
        bl.add_widget( gl )
        return bl
    def bp_open(self, instance):
        build_popup.open()

if __name__ == "__main__":
    CityGame().run()
И, как видите self.lbl = Label(text="0", font_size = 20), мне нужно будет реализовать систему ходов (1 ход = 1 месяц, а про года вы наверное сами знаете) и то, чтобы текст тоже обновлялся. Надо чтобы показывалась дата (месяц и год), можете добавить деньги, население и их прирост
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!