Python GTK 3 GUI 编程 -- 006 标签(Label) 和 pango markup language(pango 标记语言)

这篇文章讲下标签

什么是标签

就是显示文字的控件


Label

创建

self.label = Gtk.Label()

使用

简单的使用就是制定label属性 显示文字, 当然如果只讲这个, 显得文章太..., 所以今天讲下pango markup language(一种标记语言, 使文字显示特定的样式)


官方链接

基本标签

  • 根标签, 可以省略
  • 基本标签, 可以自定样式, 他的基本属性下面单独列出
  • 下面的标签是为了提供方便用的
  • 粗字体
  • 大字体 相当与
  • 删除线(从文字中间穿过的线)
  • 下脚标
  • 上脚标
  • 等宽字体
  • 下划线

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

你可能感兴趣的:(Python GTK 3 GUI 编程 -- 006 标签(Label) 和 pango markup language(pango 标记语言))