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

关于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

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

因有同学问到我的kivy学习资料里支持中文的方法是怎么解决的,我将解决中文的方法链接贴在这里,大家去照着做就可以了,很简单点击这个链接进入:kivy全局中文支持最简单的解决方法

posted @ 2021-08-19 23:24  michaelxguo  阅读(1347)  评论(0编辑  收藏  举报