2023年8月17日 星期四

Kivy UIX篇 widget篇 Button類 attribute篇 講解

簡述

根據官方解釋:

The Button is a Label with associated actions that are triggered when the button is pressed (or released after a click/touch). To configure the button, the same properties (padding, font_size, etc) and sizing system are used as for the Label class.

意思是可以視Button為一個帶有相關操作的Label,按下按鈕(或單擊/觸摸後釋放)時會觸發這些操作。 要設計Button的外觀,可以使用與 Label 類相同的屬性(padding、font_size 等)(因為Button類的父類別就是Label類)

示意圖如下:

基本範例

首先在main.py中寫上起手式:

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout


#先讓MyLayout繼承FloatLayout
class MyLayout(FloatLayout):
    pass


class Myapp(App):

    def build(self):
        return MyLayout()


if __name__ == '__main__':
    Myapp().run()

在以上程式碼中,我讓MyLayout類繼承FloatLayout類,並在裡面加入Button物件。

在my.kv中寫上此段程式碼:

<MyLayout>:

    Button:
        text: 'press me'

執行結果如下:

Button使用技巧:

1.更改Button的顏色、按下Button時的圖案與Button沒有被按下時的圖案

程式碼如下:

<MyLayout>:

    Button:
        background_color: 1,0,0,.5 #更改Button的顏色
        background_normal:'dog.jpg' #Button沒有被按下時的圖案
        background_down:'cat.jpg' #按下Button時的圖案
        text: 'press me'

執行結果如下:

注意!圖片會被自動縮放到符合Button的大小(可以看到貓咪的圖片被壓扁了)

沒有留言:

張貼留言

精選文章

Kivy UIX篇 widget篇 TabbedPanel類 event篇 講解