• PangoLayout

      • Methods
    • 例子

Pango.Layout

Pango.Layout结构表示整个文本段落。一般使用Pango.Context来进行初始化,使用Pango.Layout.set_text(text, length)方法来设置文本;或者使用Widget.create_pango_layout(text)方法来创建,并设置该字符串的属性。

设置完成后,格式化的文本段落就可以从对象中获取,布局将会渲染呈现出来。

Methods

方法修饰词 方法名及参数
static new (context)
context_changed ()
copy ()
get_alignment ()
get_attributes ()
get_auto_dir ()
get_baseline ()
get_character_count ()
get_context ()
get_cursor_pos (index_)
get_ellipsize ()
get_extents ()
get_font_description ()
get_height ()
get_indent ()
get_iter ()
get_justify ()
get_line (line)
get_line_count ()
get_line_readonly (line)
get_lines ()
get_lines_readonly ()
get_log_attrs ()
get_log_attrs_readonly ()
get_pixel_extents ()
get_pixel_size ()
get_serial ()
get_single_paragraph_mode ()
get_size ()
get_spacing ()
get_tabs ()
get_text ()
get_unknown_glyphs_count ()
get_width ()
get_wrap ()
index_to_line_x (index_, trailing)
index_to_pos (index_)
is_ellipsized ()
is_wrapped ()
move_cursor_visually (strong, old_index, old_trailing, direction)
set_alignment (alignment)
set_attributes (attrs)
set_auto_dir (auto_dir)
set_ellipsize (ellipsize)
set_font_description (desc)
set_height (height)
set_indent (indent)
set_justify (justify)
set_markup (markup, length)
set_markup_with_accel (markup, length, accel_marker)
set_single_paragraph_mode (setting)
set_spacing (spacing)
set_tabs (tabs)
set_text (text, length)
set_width (width)
set_wrap (wrap)
xy_to_index (x, y)

例子


代码:

#!/usr/bin/env python3
# Created by xiaosanyu at 16/7/6
# section 140
TITLE = "Layout"
DESCRIPTION = """
Pango layout is an object representing a paragraph of text with attributes.
"""
import gigi.require_version("Gtk", "3.0")
gi.require_version('PangoCairo', '1.0')
from gi.repository import Gtk, Gdk, Pango, PangoCairo
import cairolyrics = """Meet you downstairs in the bar and heard
your rolled up sleeves and your skull t-shirt
You say why did you do it with him today?
and sniff me out like I was Tanqueraycause you're my fella, my guy
hand me your stella and fly
by the time I'm out the door
you tear men down like Roger MooreI cheated myself
like I knew I would
I told ya, I was trouble
you know that I'm no good"""class Area(Gtk.DrawingArea):def __init__(self):super(Area, self).__init__()self.modify_bg(Gtk.StateType.NORMAL, Gdk.Color(16400, 16400, 16440))self.connect("draw", self.draw)def draw(self, da, cr):font_desc = Pango.FontDescription('Sans 15')layout = da.create_pango_layout(lyrics)layout.set_markup("<span foreground=\"#FF00FF\">%s</span>" % layout.get_text(), -1)layout.set_width(Pango.SCALE * self.get_allocation().width)layout.set_spacing(Pango.SCALE * 3)layout.set_alignment(Pango.Alignment.CENTER)layout.set_font_description(font_desc)# PangoCairo.layout_path(cr, layout)# cr.set_source_rgb(0.5, 0, 0)# cr.fill()PangoCairo.show_layout(cr, layout)return Trueclass PyApp(Gtk.Window):def __init__(self):super(PyApp, self).__init__()self.connect("destroy", Gtk.main_quit)self.set_title("You know I'm no Good")self.add(Area())self.set_size_request(300, 300)self.move((self.get_screen().width() - 300) / 2, (self.get_screen().height() - 300) / 2)self.show_all()def main():PyApp()Gtk.main()if __name__ == '__main__':main()

代码下载地址:http://download.csdn.net/detail/a87b01c14/9594728

PyGobject(九十)Pango系列——Pango.Layout相关推荐

  1. PyGobject(八十八)Pango系列——简介简单示例

    Pango PangoFontDescription Methods 例子 Pango Pango是一个开放源代码的自由函数库,用于高质量地渲染国际化的文字.Pango可以使用不同的后端字体,并提供了 ...

  2. php imagemagick pango,imagemagick pango安装

    imagemagick pango安装 先安装pangoyum install pango pango-devel libtool-ltdl libtool-ltdl-devel 重新编译imagem ...

  3. View系列 (三) — Measure 流程详解

    Measure 流程详解 一.概述 二.单一 View 的测量流程 1. 流程图 2. 源码分析 三.ViewGroup 的测量流程 1. 流程图 2. 源码分析 一.概述 测量过程分为 View的m ...

  4. 紫光同创国产FPGA学习之Fabric Debugger

    文章从紫光同创参考书拷贝过来的.因为我用的时候,看了一下就会用了(纯粹只是会用了,默认和xilinx的一样),没有看教程.先更新点文本,后面在写程序. 一.      软件简介 Fabric Debu ...

  5. 紫光同创国产FPGA学习之Fabric Configuration

    这个是下载软件使用教程.紫光同创的参考文件.哎呦我去,一个下载软件都弄的那么详细.我真的不知道,看到的人啥感想.估计他们更喜欢我自己写的简易教程.估计看晕了,还是先学会下载了,在看文档吧. 一.   ...

  6. 从零开始的linux_manjaro+vim+fish shell+i3酷炫操作和配置(持续更新中......)

    本博客最新更新于 2021年11月18日 一.前言 笔者此前几乎没有vim使用经验,也没有安装过linux虚拟机,偶然在b站上看到TheCW的视频,遂惊异于linux和vim配合的巧妙与vim配置和f ...

  7. gentoo intel 安装桌面

    gentoo intel 安装桌面 首先增加 vim ~/.xinitrc [[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources# d ...

  8. 十年前的32位笔记本使用平铺桌面管理工具i3跑得飞快

    十年前的32位笔记本使用平铺桌面管理工具i3跑得飞快 旧笔记本 家里有一台配置很低的笔记本,买了已经有将近十年了. cpu还是32位的. 系统目前安装的是manjaro32,目前这个系统已经不支持更新 ...

  9. 手把手教你使用Linux安装i3wm桌面

    个人 i3配置地址:https://github.com/itgoyo/i3 如果还是觉得太难,请参考视频来操作:https://www.bilibili.com/video/av60766315 成 ...

最新文章

  1. 深度学习发展简要笔记
  2. Spring核心(ioc控制反转)
  3. 【Linux】一步一步学Linux——chmod命令(110)
  4. 【转】oracle number与java中long、int的对应
  5. linux 监控java内存_Linux下实用的JAVA内存泄露监控命令及工具
  6. mysql join 与 cross join 效率_浅析Mysql Join语法以及性能优化
  7. 儿童心理健康的十项注意
  8. 直线算法(Bresenham)
  9. 关于LVGL下物理按键的使用
  10. 从Spring源码探究IOC初始化流程
  11. Mac Excel快捷键
  12. office2016安装部分组件教程
  13. STA静态时序分析——学习笔记
  14. 大数据的架构设计与未来
  15. 计算机辅助编程可分为,东大18春学期《计算机辅助数控编程》在线作业123【辅导资料100分】...
  16. NOIP simulation
  17. 自学虚幻引擎图文笔记:如何在UE4中做积雪材质
  18. php 网页截图,codefromnet/PHP网页截图-网页快照实现.txt at master · yangyu0116/codefromnet · GitHub...
  19. UVa1600 Patrol Robot (BFS求最短路进阶)
  20. centos安装apche

热门文章

  1. 随想 2007/01/07
  2. 物联网江湖 第五回 - Contiki 学院派先驱
  3. 华师大计算机研究生学硕学费,2021年华东师范大学硕士研究生学费标准公示
  4. 中国超融合厂商三甲出炉,华为、华云数据、新华三再次稳居中国超融合市场领导者
  5. case when then 中的条件里面加上 and or 的写法
  6. handbrake音画同步机制
  7. 由《怪物弹珠》浅谈游戏的本地化
  8. Together® ControlCenter™ 6.0 入门实践教程
  9. Swift 不同样式文字拼接处理
  10. ps通过图案制作线条和图案文字,通过创建剪切蒙版制作图案文字效果