PyGobject(九十)Pango系列——Pango.Layout
- 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相关推荐
- PyGobject(八十八)Pango系列——简介简单示例
Pango PangoFontDescription Methods 例子 Pango Pango是一个开放源代码的自由函数库,用于高质量地渲染国际化的文字.Pango可以使用不同的后端字体,并提供了 ...
- php imagemagick pango,imagemagick pango安装
imagemagick pango安装 先安装pangoyum install pango pango-devel libtool-ltdl libtool-ltdl-devel 重新编译imagem ...
- View系列 (三) — Measure 流程详解
Measure 流程详解 一.概述 二.单一 View 的测量流程 1. 流程图 2. 源码分析 三.ViewGroup 的测量流程 1. 流程图 2. 源码分析 一.概述 测量过程分为 View的m ...
- 紫光同创国产FPGA学习之Fabric Debugger
文章从紫光同创参考书拷贝过来的.因为我用的时候,看了一下就会用了(纯粹只是会用了,默认和xilinx的一样),没有看教程.先更新点文本,后面在写程序. 一. 软件简介 Fabric Debu ...
- 紫光同创国产FPGA学习之Fabric Configuration
这个是下载软件使用教程.紫光同创的参考文件.哎呦我去,一个下载软件都弄的那么详细.我真的不知道,看到的人啥感想.估计他们更喜欢我自己写的简易教程.估计看晕了,还是先学会下载了,在看文档吧. 一. ...
- 从零开始的linux_manjaro+vim+fish shell+i3酷炫操作和配置(持续更新中......)
本博客最新更新于 2021年11月18日 一.前言 笔者此前几乎没有vim使用经验,也没有安装过linux虚拟机,偶然在b站上看到TheCW的视频,遂惊异于linux和vim配合的巧妙与vim配置和f ...
- gentoo intel 安装桌面
gentoo intel 安装桌面 首先增加 vim ~/.xinitrc [[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources# d ...
- 十年前的32位笔记本使用平铺桌面管理工具i3跑得飞快
十年前的32位笔记本使用平铺桌面管理工具i3跑得飞快 旧笔记本 家里有一台配置很低的笔记本,买了已经有将近十年了. cpu还是32位的. 系统目前安装的是manjaro32,目前这个系统已经不支持更新 ...
- 手把手教你使用Linux安装i3wm桌面
个人 i3配置地址:https://github.com/itgoyo/i3 如果还是觉得太难,请参考视频来操作:https://www.bilibili.com/video/av60766315 成 ...
最新文章
- 深度学习发展简要笔记
- Spring核心(ioc控制反转)
- 【Linux】一步一步学Linux——chmod命令(110)
- 【转】oracle number与java中long、int的对应
- linux 监控java内存_Linux下实用的JAVA内存泄露监控命令及工具
- mysql join 与 cross join 效率_浅析Mysql Join语法以及性能优化
- 儿童心理健康的十项注意
- 直线算法(Bresenham)
- 关于LVGL下物理按键的使用
- 从Spring源码探究IOC初始化流程
- Mac Excel快捷键
- office2016安装部分组件教程
- STA静态时序分析——学习笔记
- 大数据的架构设计与未来
- 计算机辅助编程可分为,东大18春学期《计算机辅助数控编程》在线作业123【辅导资料100分】...
- NOIP simulation
- 自学虚幻引擎图文笔记:如何在UE4中做积雪材质
- php 网页截图,codefromnet/PHP网页截图-网页快照实现.txt at master · yangyu0116/codefromnet · GitHub...
- UVa1600 Patrol Robot (BFS求最短路进阶)
- centos安装apche