關於kivy內label功能有二部分內容,一個是label小部件屬性,另一個是label文字標記屬性,實操練習的效果圖如下:

.

現將label常用的這二類屬性整理如下:

現在我們來進行實操練習,在pycharm裡先新建一個專案,然後在專案內新建main.py檔案,內容程式碼如下:

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout class LabelBoxLayout(BoxLayout):
def __init__(self,**kwargs):
super(LabelBoxLayout, self).__init__(**kwargs) #設定引用時,markup屬性必須設定為真(True、1)
#將Label文字標記,單擊Lable文字時會觸發繫結的事件,單擊hello文字則不會
label_ref=Label(text='你好[ref=label]Label[/ref]',markup=True,color=(.9,.2,.1,1)) #繫結觸發事件,回撥方法
label_ref.bind(on_ref_press=self.print_it)
self.add_widget(label_ref) #未使用到self,建議設定為靜態方法
@staticmethod
def print_it(*args):
print('print_it已經執行') class LabelApp(App):
def build(self):
return LabelBoxLayout() if __name__ =='__main__':
LabelApp().run()

再建一個label.kv檔案,內容程式碼如下:

<LabelBoxLayout>:
canvas:
Color:
rgba:1,1,1,1
Rectangle:
pos:self.pos
size:self.size
orientation:'vertical' #指定佈局方向 Label: #新增一個標籤,[ref]標記的內容是可以做為觸發事件的標記
text:'[ref="click"]只能[/ref][sub]顯示[/sub][color=#"FFFF00"]字型中[/color]可用的符號'
font_size:30 #字型大小
bold:True #字型加粗
color:.9,.2,.1,1 #字型顏色
outline_color:0,0,1 #新增文字輪廓顏色
outline_width:1 #新增文字輪廓寬度
text_size:cm(8),mm(20) #標籤文字框大小
halign:'right' #水平對齊方式
valign:'middle' #垂直對齊方式
strikethrough:True #是否新增刪除線
shorten:True #文字長度比文字框大是縮短文字
shorten_from:'right' #當shorten:True時,從right右方向縮短文字
markup:True
#觸發事件
on_ref_press:
print('ref命名的單擊事件已經執行')
root.print_it() Label:
#設定背景
canvas:
Color:
rgba:(.1,.1,.1,.1)
Rectangle:
pos:self.pos
size:self.size
text:'只能[sup]顯示[/sup]字型中可用的符號'
font_size:20
color:.2,.2,.9,1
bold:True
text_size:cm(10),cm(2)
halign:'left'
valign:'top'
underline:True #是否新增下劃線
line_height:2.0 #行高
markup:True

本文專案原始碼檔案包可點此下載,下載可自行除錯學習。