kivy提供了Button按钮一系列属性来改变样式,下面列了常用的一些Button属性并用实操案例进行演练学习。
Button常用属性 | 说明 | backgroundcolor | 按钮背景颜色,rgba格式,默认为灰色 | text | 按钮显示的文本 | fontsize | 文本字体大小,默认为15sp | bold | 文本字体加粗,为数字如bold:10 | color | 文本字体颜色,rgba格式,默认为白色[1,1,1,1] | state | 按钮状态,默认为“normal”,可设置成“down | disabled | 如果为True时则禁用按钮,默认为False | backeround_disabled_down | 默认为“kivy\tools\theming\defaulttheme\button_disabled_pressed.png”属性 | backeround_disabled_normal | 默认为“kivy\tools\theming\defaulttheme\button_disabled.png”属性 | backgrounddown | 按下按钮时显示的图像,默认为“kivy\tools\theming\defaulttheme\bulton_pressed.png”属性 | backgroundnormal | 未按下按钮时显示的图像,默认为“kivy\tools\theming\defaulttheme\button.png”属性 | border | 与background_normal和background_down属性一起使用,可以用于自定义背景 |
新建一个main.py,内容代码如下:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
class ButtonFloatLayout(FloatLayout):
def __init__(self,**kwargs):
super(ButtonFloatLayout, self).__init__(**kwargs)
bt=Button(text='按钮', background_color=[1,.5,.5,1],on_release=self.release_button, pos=(300,0),size_hint=(.2,.15)) #添加一个按钮
bt.bind(on_press=self.press_button) #绑定触发事件
self.add_widget(bt) #添加到布局
def press_button(self,arg):
print('按下按钮事件已运行')
def release_button(self,arg):
print('按下并释放时触发事件已运行')
class ButtonApp(App):
def build(self):
return ButtonFloatLayout()
if __name__ =='__main__':
ButtonApp().run()
再建一个button.kv文件,代码内容如下:
<MyButton@Button>: #自定义按钮,设置按钮的公共属性
size_hint:.2,.15 #设置按钮大小
<ButtonFloatLayout>:
#设置布局背景色,大小
canvas:
Color:
rgba:[1,1,1,1]
Rectangle:
pos:self.pos
size:self.size
Button: #使用原生按钮
text:'按钮00' #按钮显示文本
bold:10
size_hint:.2,.15 #设置按钮大小
pos:65,400 #设置x座标=65,y座标=400的位置显示此按钮
background_normal:'' #标准背景颜色
background_color:[.1,.5,.5,1] #背景颜色
MyButton: #自定义按钮
text:'按钮01'
pos:315,400
disabled:True #禁用状态为真
MyButton:
text:'按钮02'
color:[.8,.3,.3,1] #设置按钮字体颜色
pos:565,400
on_release:root.release_button(self) #触发事件
on_press:
root.press_button(self) #触发事件,在KV内要触发多个事件要换行写
print('laizl.com')
MyButton:
text:'按钮03'
font_size:15
pos:65,150
MyButton:
text:'按钮04'
font_size:25
pos:315,150
state:'normal' #按钮状态
MyButton:
text:'按钮05'
pos:565,150
state:'down' #按下状态
建好文件,就可以运行main.py文件看到效果了。也可直接到这里下载案例源码学习。
|