首页 > 解决方案 > 我想将 TextInput 转换为 int var

问题描述

我正在创建一个游戏遭遇生成器,我需要将变量转换为TextInputint在函数中使用的变量。

import random
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button


class grid(GridLayout):
    def __init__(self, **kwargs):
        super(grid, self).__init__(**kwargs)

        self.cols = 1

        self.info_grid = GridLayout()
        self.info_grid.cols = 2

        self.info_grid.add_widget(Label(text="Numero de inimigos:"))
        self.Inimigos = TextInput()
        self.info_grid.add_widget(self.Inimigos)
        self.add_widget(self.info_grid)

        self.Gerador = Button(text="Gerar", font_size=40)
        self.Gerador.bind(on_press=self.Gerar)
        self.add_widget(self.Gerador)

        self.show_inimigos = (Label(text="Clique para gerar"))
        self.add_widget(self.show_inimigos)

    def Gerar(self, instance):

        int_inimigos = int(self.Inimigos)

        racas = ["HUMANO", "ELFO", "ANÃO", "HOBBIT", "LAGARTÃO", "LEONINO", "NEZUMI"]
        classe = ["APPRENTICE", "FIGHTER", "KNIGHT", "BERSERKER", "FENCER", "NINJA", "HOPLITE", "BEAST TAMER",
                  "DRAGON TAMER", "ARCHER", "ROUGE", "DOLL MASTER", "WARLOCK", "MAGE", "ACOLYTE", "MONK", "CLERIC",
                  "BARD", "WARLORD", "SHAMAN", "DRUID", "SPEAKER", "MERCHANT", "ALCHEMIST", "BLACKSMITH", "CHEF"]
        elemento = ["FIRE", "AIR", "WATER", "EARTH", "LIGHT", "DARK"]

        for i in range(int_inimigos):
            escolha_raca = random.choice(racas)
            escolha_classe = random.choice(classe)
            escolha_elemento = random.choice(elemento)
            encontro = (escolha_raca + ' : ' + escolha_classe + '  -  ' + escolha_elemento)

            self.show_inimigos.text = (encontro + "\n")


class MyApp(App):
    def build(self):
        return grid()


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

标签: pythonuser-interfacekivy

解决方案


int_inimigos = int(self.Inimigos)

尝试:

int_inimigos = int(self.Inimigos.text)


推荐阅读