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

这篇文章讲下标签

什么是标签

就是显示文字的控件


Label

创建

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容