kivy之Label属性及文本标记实操练习

时间:2022-08-16 18:20:48

关于kivy内label功能有二部分内容,一个是label小部件属性,另一个是label文本标记属性,实操练习的效果图如下:

.kivy之Label属性及文本标记实操练习

现将label常用的这二类属性整理如下:

kivy之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

本文项目源码文件包可点此下载,下载可自行调试学习。