这篇文章讲下标签
什么是标签
就是显示文字的控件
创建
self.label = Gtk.Label()
使用
简单的使用就是制定label属性 显示文字, 当然如果只讲这个, 显得文章太..., 所以今天讲下pango markup language(一种标记语言, 使文字显示特定的样式)
官方链接
基本标签
- <markup></markup> 根标签, 可以省略
- <span></span> 基本标签, 可以自定样式, 他的基本属性下面单独列出
- 下面的标签是为了提供方便用的
- <b></b> 粗字体
- <big></big> 大字体 相当与 <span size="larger"></span>
- <s></s> 删除线(从文字中间穿过的线)
- 下脚标
- 上脚标
- <tt></tt> 等宽字体
- <u></u> 下划线
span的属性
- font-desc 字体的描述 比如 "Sans Italic Hack 16" 表示Sans类型 Hack字体 斜体 字号16. 基本格式就是 "族 字体样式 字体名称 字号"
- font-family 字体族, 可以为"normal", "sans", "serif" 或 "monospace"
- face 等于 font-family
- size 大小 可以为'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large' 或者是一个相对的词 比如 smaller larger
- style 字体样式 可以为 normal, oblique, italic
- weight 字体重量 可以为'ultralight', 'light', 'normal', 'bold', 'ultrabold', 'heavy' 或者是数字的重量, 以磅为单位
- variant 变形, 可以为normal 或 smallcaps(全小写)
- stretch 宽度 可以为 'ultracondensed', 'extracondensed', 'condensed', 'semicondensed', 'normal', 'semiexpanded', 'expanded', 'extraexpanded', 'ultraexpanded' (其实就是两个单词加描述 condensed 压缩的, expanded 扩展的, 加上 semi 半, extra 额外的, ultra 超级的)
- foreground 前景色 aka 字体颜色 可以为16进制颜色或者颜色名 例如red blue lightblue等等
- background 背景色
- underline 下划线样式 'single'(单线), 'double'(双线), 'low'(更低的下划线), or 'none'(无)
- rise 上下脚标 可以为subscript(下脚标), positive(正常) for superscript(上脚标).
- strikethrough 删除线 true 或false
- fallback 标识如果当前字体缺失该字符, 是否用其他字体代替这个字符 true或false
- lang 语言 例如 "zh-cn" "en-us" "zh-tw" "zh-hk"
这个很简单, 就不示范了
标签 和 pango
首先创建一个label, 然后调用set_markup(pango_string)方法来使用pango, pango_string就是pango字符串
label的常用属性
- label 设置标签 str
- angle 旋转角度 接受float 类型
- ellipsize 省略 当空间不足时省略 接受Gtk.ElipisizeMode
Gtk.ElipisizeMode 枚举
NONE = 0 无
START = 1 从开始省略
MIDDLE = 2 中间
END = 3 结尾
- justify 对齐 接受Gtk.Justification
LEFT = 0 左对齐
RIGHT = 1 右对齐
CENTER = 2 中间对齐
FILL = 3 填充
- max_width_chars 标签的最长长度 int
- selectable 是否可以用鼠标选择 bool
- single_line_mode 是否只有一行 bool
- warp 是否自动换行如果太长 bool
- wrap_mode 接受Pango.WrapMode
Pango.WrapMode 枚举
WORD = 0 如果空间不够一个单词, 换行
CHAR = 1 不够一个字符
WORD_CHAR = 2 不够一个单词时, 退回到 一个不够一个字符的地方, 然后换行 (基本没什么用)
方法
set_markup(str) 设置pango
其他的基本都是设置属性和获取属性的方法, 不多说了
下篇文章讲下Expander