代码之家  ›  专栏  ›  技术社区  ›  Gremler5442

将var+1添加到按键上的标签(kivy)

  •  -1
  • Gremler5442  · 技术社区  · 6 年前

    Source func-添加\u单击

    将+1添加到self。单击以按按钮标记(self.RightBar)

    我为游戏编写了一个函数(clicker),其本质是通过按下标签上的按钮添加计数器。

        def add_click(self, instance):
    
            self.click += 1
    
        def build(self):
    
            self.click = "0"
    
            Body = BoxLayout(orientation = "vertical",
                                                size_hint = [1,.8],
                                                spacing = 0.7)
    
            Land = BoxLayout()
    
            LeftBar = Image(source = "/storage/emulated/0/kivy/image/84.jpg", size_hint = [None, None], size = [1080, 610])
    
            self.RightBar = Label(text = "MONEY:" + "\n" + "\nUNITS:" + "\n" + "\nDAY:" + "\n" + "\nCLICKS:" + "  " + self.click,
                                            size_hint = [.3,1],
                                            valign = "top",
                                            halign = "left",
                                            text_size = [750,900])
    
            Land.add_widget(LeftBar);
            Land.add_widget(self.RightBar);
    
            Body.add_widget(Land);
    
            NavBar = BoxLayout(size_hint = [1, .55],
                                                    spacing = 0.8)
    
            Body.add_widget(NavBar);
    
            Body.add_widget(Button(text = "*click*",
                                            font_size = 20,                                                                 background_normal = "",
                                            background_color = [.11,.11,.10,.4],
                                            size_hint = [1,1.7],
                                            on_press = self.add_click));
    
            return Body
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   ikolim    6 年前

    更改以下内容:

    步骤1

    来自字符串:

    self.click = "0"
    

    到数字:

    self.click = 0
    

    第2步

    发件人:

    self.RightBar = ... + self.click, ...
    

    收件人:

    self.RightBar = ... + str(self.click), ...
    

    代码段

    def build(self):
        self.click = 0
        ...
        self.RightBar = Label(text = "MONEY:" + "\n" + "\nUNITS:" + "\n" + "\nDAY:" + "\n" + "\nCLICKS:" + "  " + str(self.click)
    

    输出

    Img01

        2
  •  0
  •   Gremler5442    6 年前

    我通过如下重写函数找到了解决方案:

    def add_click(self, instance):
        self.click = int(self.click)
        self.click += 1
        self.click = str(self.click)
        self.RightBar.text = str("MONEY:"+"\n"+"\nUNITS:"+"\n"+"\nDAY:"+"\n"+"\nCLICKS:"+" "+self.click)