Kivy 简明教程
Kivy - Buttons
按钮是任何 GUI 库(包括 Kivy)中最重要元素之一。按钮对象包含一个标签,通常用来指示它的用途(例如一个带有“开始”标题的标签,或一个带有“文件夹”图标用来指示“打开文件操作”的标签),并且具有响应某些事件(例如触摸或鼠标点击)的能力。
Button 类在“kivy.uix.button”模块中定义。Button 对象的外观可以通过在 Label 类中定义的相同属性集进行配置。Button 类还继承自 ButtonBehavior 混入。
Button 对象使用以下语法实例化:
b1 = Button(**kwargs)
为了配置按钮,你可以指定它的属性作为构造函数的关键字参数:
-
background_color − 在 (r, g, b, a) 格式中,按钮的背景色是一个 ColorProperty,其默认值为 [1,1,1,1]。
-
background_disabled_down − 按钮的背景图片是一个 StringProperty,包含指向图像文件的路径的字符串,当按钮被禁用并按下时用作默认图形表示。
-
background_disabled_normal − 按钮的背景图片也是一条图像路径,当按钮被禁用并且未按下时用作默认图形表示。
-
background_down − 在按下按钮时作为默认图形表示使用的按钮的背景图像。
-
background_normal − 在未按下按钮时作为默认图形表示使用的按钮的背景图像。
除了上面提到的内容,Button 还继承自 Label 类的属性,其中的部分属性如下:
-
bold − 表示使用粗体字的字体。它是一个 BooleanProperty,其默认值为 False。
-
underline − 在文本下添加下划线。此功能需要 SDL2 文本提供程序,它是一个 BooleanProperty,其默认值为 False。
-
strikethrough − 在文本中添加删除线。此功能需要 SDL2 文本提供程序。它是一个 BooleanProperty,其默认值为 False。
-
text − 标签的文本。例如:
widget = Button(text='Hello world')
text 是一个 StringProperty,其默认值为 ''。
-
color − 文本颜色,格式为 (r, g, b, a)。它是一个 ColorProperty,其默认值为 [1, 1, 1, 1]。
-
font_size − 以像素为单位的文本字体大小。“font_size”是一个 NumericProperty,默认为 15sp。
Button 类还继承了 ButtonBehavior 类的 state 属性。
-
state − 按钮的状态,必须是 'normal' 或 'down' 之一。仅当按钮当前被触摸/单击时,其状态才为 'down',否则为 'normal'。它是一个 OptionProperty,默认为 'normal'。
Button 类还继承了诸如 disabled, height, width 和 pos 等来自 Widget 类中的属性。
如果你想在 Kivy 应用程序窗口上显示按钮,则可以通过在 build() 方法中声明一个 Button 对象或者使用“kv”语言脚本来实现。
Displaying a Button Using the build() Method
让我们使用上面解释的一些属性配置 Button −
Example
from kivy.app import App
from kivy.uix.button import Button
from kivy.config import Config
# Configuration
Config.set('graphics', 'width', '720')
Config.set('graphics', 'height', '300')
Config.set('graphics', 'resizable', '1')
class HelloApp(App):
def build(self):
b1 = Button(text = "A Kivy Button",
font_size=50,
color = [0.8, 0.2, 0.3, 1])
return b1
app = HelloApp()
app.run()