📜  在 Kivy 中更改按钮颜色

📅  最后修改于: 2022-05-13 01:55:03.393000             🧑  作者: Mango

在 Kivy 中更改按钮颜色

Kivy 是Python中一个独立于平台的 GUI 工具。因为它可以在Android、IOS、Linux和Windows等平台上运行。它基本上是用来开发Android应用程序的,但这并不意味着它不能在Desktops应用程序上使用。

在本文中,我们将学习如何在 kivy 中更改按钮颜色。有一个名为background_color的属性,用于更改 kivy Python中按钮的颜色。

注意:默认情况下,按钮的颜色是黑色(小灰色),如果你想改变它,那么我们使用这个属性。它只取 0 到 1 之间的值,任何其他值都会导致程序的错误行为。

现在下面是如何更改按钮颜色的代码:

代码1#

def build(self): 
        # use a (r, g, b, a) tuple 
        btn = Button(text ="Push Me !", 
        font_size ="20sp", 
  
                # Here you can give the color
                # The value must be between 0 to 1 
                # greyish black color
                background_color =(1, 1, 1, 1),  
  
                size =(32, 32), 
                size_hint =(.2, .2), 
                pos =(300, 250)) 
  
        return btn 

代码 #2

## Sample Python application demonstrating the 
## How to change button color in Kivy.
################################################### 
   
# import kivy module 
import kivy 
  
# to choose the colors randomly 
# every time you run it shows different color 
import random 
  
# this restricts the kivy version i.e 
# below this kivy version you cannot 
# use the app or software 
kivy.require("1.9.1") 
      
# base Class of your App inherits from the App class. 
# app:always refers to the instance of your application 
from kivy.app import App 
      
# creates the button in kivy 
# if not imported shows the error 
from kivy.uix.button import Button 
  
# BoxLayout arranges children in a vertical or horizontal box. 
# or help to put the children at the desired location. 
from kivy.uix.boxlayout import BoxLayout 
  
# declaring the colours you can use directly also 
red = [1, 0, 0, 1] 
green = [0, 1, 0, 1] 
blue = [0, 0, 1, 1] 
purple = [1, 0, 1, 1] 
      
# class in which we are creating the button 
class ChangeColorApp(App): 
          
    def build(self): 
        superBox = BoxLayout(orientation ='vertical') 
  
        HB = BoxLayout(orientation ='horizontal') 
  
        # creating the list of defined colors
        colors = [red, green, blue, purple] 
          
  
        # Changing the color of buttons
        # here you can see how you can change the color
        btn1 = Button(text ="One",
                    # Color of button is changed not default
                    background_color = random.choice(colors), 
                    font_size = 32, 
                    size_hint =(0.7, 1)) 
  
        btn2 = Button(text ="Two", 
                    background_color = random.choice(colors), 
                    font_size = 32, 
                    size_hint =(0.7, 1)) 
  
        HB.add_widget(btn1) 
        HB.add_widget(btn2) 
  
   
        VB = BoxLayout(orientation ='vertical') 
  
        btn3 = Button(text ="Three", 
                    background_color = random.choice(colors), 
                    font_size = 32, 
                    size_hint =(1, 10)) 
  
        btn4 = Button(text ="Four", 
                    background_color = random.choice(colors), 
                    font_size = 32, 
                    size_hint =(1, 15)) 
  
          
        VB.add_widget(btn3) 
        VB.add_widget(btn4) 
  
        superBox.add_widget(HB) 
        superBox.add_widget(VB) 
  
        return superBox 
  
# creating the object root for App class 
root = ChangeColorApp() 
      
# run function runs the whole program 
# i.e run() method which calls the 
# target function passed to the constructor. 
root.run() 

输出: