
PyGobject详解
文章平均质量分 95
在Python中使用gtk+图形库,最详实的代码,最详细的讲解。
sanxiaochengyu
热爱开发,热爱学习,对于新知识有着无尽的追求
展开
-
PyGobject(一百一十一)使用Pyinstaller打包成APP和EXE
介绍Pyinstaller安装与使用包括在MAC osx和Window系统如何在Windows下安装pygobject如何用Pyinstaller打包pygobject如何添加hook如何添加图标和版本信息如何给windows exe文件添加版本信息修改 pyi-grab_version.exe 支持 Python3修改 pyi-set_version.exe原创 2016-08-17 16:22:05 · 14907 阅读 · 3 评论 -
PyGobject(一百一十)代码整合及GtkSource安装使用
官方demo中所有的例子程序最后都是在一个gtk-demo.py中展现出来的。本文稍微有做一点修改。就是左侧目录可以展示多级子目录。先上一张效果图 代码:#!/usr/bin/env python3# -*- Mode: Python; py-indent-offset: 4 -*-# vim: tabstop=4 shiftwidth=4 expandtab## Copyright原创 2016-08-04 09:38:40 · 9889 阅读 · 0 评论 -
PyGobject(一百零九)CSS系列——在UI文件中使用style属性
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/18# section 159# # author: xiaosanyu# website: yuxiaosan.tk \# http://blog.youkuaiyun.com/a87b01c14# created: 16/7/18TITLE = "Style原创 2016-08-04 08:16:33 · 1843 阅读 · 0 评论 -
PyGobject(一百零八)CSS系列——混合模式
混合模式决定这两个图片混合在一起后,显示的样子 在css中使用“background-blend-mode”属性设置例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/19# section 158# # author: xiaosanyu# website: yuxiaosan.tk \# ht原创 2016-08-03 17:03:22 · 1667 阅读 · 0 评论 -
PyGobject(一百零七)CSS系列——动画背景
使用CSS实现PyGobject(八十四)GdkPixbuf.Pixbuf中例子例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/18# section 157# # author: xiaosanyu# website: yuxiaosan.tk \# http://blog.youkuaiyun.com/a8原创 2016-08-03 16:52:18 · 1754 阅读 · 0 评论 -
PyGobject(一百零六)CSS系列——盒阴影和文字阴影
例子代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/18# section 156# # author: xiaosanyu# website: yuxiaosan.tk \# http://blog.youkuaiyun.com/a87b01c14# created: 16/7/18TITLE = "Shadows原创 2016-08-03 16:45:13 · 3512 阅读 · 0 评论 -
PyGobject(一百零五)CSS系列——多种碉堡背景
例子 代码:#!/usr/bin/env python3# -*- Mode: Python; py-indent-offset: 4 -*-# vim: tabstop=4 shiftwidth=4 expandtab## Copyright (C) 2013 Gian Mario Tagliaretti <gianmt@gnome.org>## This library原创 2016-08-03 16:37:09 · 1949 阅读 · 0 评论 -
PyGobject(一百零四)CSS系列——在TextView中显示样式,可修改
例子代码:#!/usr/bin/env python3# section 154# -*- Mode: Python; py-indent-offset: 4 -*-# vim: tabstop=4 shiftwidth=4 expandtab## Copyright (C) 2013 Gian Mario Tagliaretti <gianmt@gnome.org>## This l原创 2016-08-03 15:21:40 · 2514 阅读 · 0 评论 -
PyGobject(一百零三)CSS系列——transition过渡效果
例子 代码:#!/usr/bin/env python3# section 153# -*- Mode: Python; py-indent-offset: 4 -*-# vim: tabstop=4 shiftwidth=4 expandtab## Copyright (C) 2013 Gian Mario Tagliaretti <gianmt@gnome.org>## This原创 2016-08-03 14:23:48 · 1681 阅读 · 0 评论 -
PyGobject(一百零二)Cairo系列——贪吃蛇游戏
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 152TITLE = "Snake game"DESCRIPTION = """Snake is an older classic video game. It was first created in late 70s.Later it was原创 2016-08-03 11:27:48 · 1587 阅读 · 0 评论 -
PyGobject(一百零一)Cairo系列——自定义控件
例子代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 151import giimport cairogi.require_version("Gtk", "3.0")from gi.repository import GtkTITLE = "Burning widget"DESCRIPTION = """原创 2016-08-03 11:24:16 · 3763 阅读 · 0 评论 -
PyGobject(一百)Cairo系列——cairo.Surface实现图片倒影
cairoSurfaceclass cairoSurfacecopy_pagecreate_similarcontent width heightfinishflushget_contentget_device_offsetget_fallback_resolutionget_font_optionsmark_dirtymark_dirty_rectanglex y width原创 2016-08-03 11:17:20 · 2802 阅读 · 0 评论 -
PyGobject(九十九)Cairo系列——环形加载图标
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 149TITLE = "Waiting"DESCRIPTION = """In this examle, we use transparency effect to create a waiting demo.We will draw 8 line原创 2016-08-03 11:01:33 · 1487 阅读 · 0 评论 -
PyGobject(九十八)Cairo系列——动态文本
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 148TITLE = "Puff"DESCRIPTION = """In the following example, we create a puff effect. The example will display a growingcente原创 2016-08-03 10:57:20 · 1742 阅读 · 2 评论 -
PyGobject(九十七)Cairo系列——环状线圈
例子代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 147TITLE = "Donut"DESCRIPTION = """In this example we create a complex shape by rotating a bunch of ellipses"""import gigi.re原创 2016-08-03 10:53:58 · 1433 阅读 · 0 评论 -
PyGobject(九十六)Cairo系列——画给定角度的弧
例子使用一个Gtk.SpinButton,输入0到360度之间的一个度数,然后在DrawingArea中画出相应的弧度 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 146import gigi.require_version('Gtk', '3.0')from gi.repository impo原创 2016-08-03 10:49:27 · 1556 阅读 · 0 评论 -
PyGobject(九十五)Cairo系列——渐变
渐变分为线性渐变和径向渐变需要用到cairo.Pattern类cairo.PatternPatterns are the paint with which cairo draws. The primary use of patterns is as the source for all cairo drawing operations, although they can also be used原创 2016-08-03 10:36:16 · 2104 阅读 · 0 评论 -
PyGobject(九十四)Cairo系列——画基本图形
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 144TITLE = "Basic shapes"DESCRIPTION = """This example draws some basic shapes onto the window"""import gigi.require_versio原创 2016-08-03 09:46:46 · 1702 阅读 · 0 评论 -
PyGobject(九十三)Cairo系列——简介&简单示例
Cairo安装Cairo在PyGobject中的使用简单示例Cairo Cario是一个2D图形库,支持多种输出设备。 目前支持的输出目标包括X Window,Quartz,Win32,image.buffers,PostScript,PDF和SVG文件输出。 后续支持OpenGL,XCB,BeOS,OS/2操作系统和DirectFB。 Cario的目的是同一输出在不同原创 2016-08-03 08:58:30 · 4187 阅读 · 0 评论 -
PyGobject(九十二)Pango系列——文本旋转
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 142TITLE = "Rotated Text"DESCRIPTION = """This demo shows how to use PangoCairo to draw rotated and transformedtext. The ri原创 2016-08-03 08:39:05 · 2312 阅读 · 0 评论 -
PyGobject(九十一)Pango系列——文本渐变
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 141TITLE = "Gradient"DESCRIPTION = """This demo shows how to use PangoCairo to draw text with more thanjust a single color.原创 2016-08-03 08:32:23 · 1481 阅读 · 0 评论 -
PyGobject(九十)Pango系列——Pango.Layout
Pango.LayoutPango.Layout结构表示整个文本段落。一般使用Pango.Context来进行初始化,使用Pango.Layout.set_text(text, length)方法来设置文本;或者使用Widget.create_pango_layout(text)方法来创建,并设置该字符串的属性。设置完成后,格式化的文本段落就可以从对象中获取,布局将会渲染呈现出来。Methods原创 2016-08-03 08:24:11 · 2268 阅读 · 2 评论 -
PyGobject(八十九)Pango系列——获取系统可用字体
例子 代码:#!/usr/bin/env python3# Created by xiaosanyu at 16/7/6# section 139TITLE = "System Fonts"DESCRIPTION = """This example lists all availablefonts on a system in a TreeView widget"""import原创 2016-08-03 08:09:35 · 1942 阅读 · 0 评论 -
PyGobject(八十八)Pango系列——简介&简单示例
PangoPango是一个开放源代码的自由函数库,用于高质量地渲染国际化的文字。Pango可以使用不同的后端字体,并提供了跨平台支持。Pango已经被整合到多数Linux发行版中,并在Fedora Core 6被用于Firefox网页浏览器和Thunderbird邮件客户端的文字渲染。虽然在Mozilla的源代码里并没有包含Pango,但Fedora Core得到了Mozilla基金会的特别许可。同原创 2016-08-02 20:23:28 · 4392 阅读 · 0 评论 -
PyGobject(八十七)Gtk.PrintOperation
Gtk.PrintOperation打印机的操作方法 Methods 方法修饰词 方法名及参数 static new () cancel () draw_page_finish () get_default_page_setup () get_embed_page_setup () get_error () get_has_原创 2016-08-02 20:04:10 · 1864 阅读 · 0 评论 -
PyGobject(八十六)Gtk.Application
Gtk.ApplicationGtk.Application是在gtk+3.0才引入的一个新类,它包含许多现代的应用需求,如处理多个实例,D-Bus的激活,打开文件,在命令行解析命令,开机/关机,菜单管理,窗口管理等等虽然Gtk.Application能够和普通Gtk.Windows一起正常的工作,不过通常建议与Gtk.ApplicationWindow一起使用。 ActionsGio.Actio原创 2016-08-02 19:46:54 · 3116 阅读 · 0 评论 -
PyGobject(八十五)GObject介绍(自定义对象与信号)
GObject是最基础类型,提供了GTK+和Pango和其他库中的所有对象类型的公共属性和方法。GObject.Object类提供了对象的构造和销毁,属性访问方法,以及信号支持的方法。自定义对象(继承自GObject.GObject)from gi.repository import GObjectclass MyObject(GObject.GObject): def __init__(se原创 2016-08-02 17:30:28 · 1769 阅读 · 0 评论 -
PyGobject(八十四)GdkPixbuf.Pixbuf
GdkPixbuf.Pixbuf这是gdk-pixbuf库的主要结构。它被用于表示图像。它包含关于图像的像素数据、宽度和高度等信息。 Methods 方法修饰词 方法名及参数 static from_pixdata (pixdata, copy_pixels) static get_file_info (filename) static get_file_info_a原创 2016-08-02 17:19:08 · 2842 阅读 · 1 评论 -
PyGobject(八十三)Gtk.SizeGroup
Gtk.SizeGroup将一组小部件组织到一起,使它们拥有相同的高度或者宽度,由set_mode(Gtk.SizeGroupMode)来设置Methods 方法修饰词 方法名及参数 static new (mode) add_widget (widget) get_ignore_hidden () get_mode () get_widgets原创 2016-08-02 17:09:12 · 1118 阅读 · 0 评论 -
PyGobject(八十二)Drag and Drop
在部件之间进行拖放,一般需要设置一个拖动源(拖动什么部件),使用Gtk.Widget.drag_source_set()方法,设置一个拖动目标(部件拖放到什么地方),使用Gtk.Widget.drag_dest_set()方法。有些部件提供了特殊的方法来替代这两个方法,如 Gtk.TreeView 和 Gtk.IconView,它们提供enable_model_drag_source(start_b原创 2016-08-02 16:59:44 · 1394 阅读 · 0 评论 -
PyGobject(八十一)Gdk.Cursor
Gdk.CursorGdk.Cursor鼠标指针样式 Methods 方法修饰词 方法名及参数 static new (cursor_type) static new_for_display (display, cursor_type) static new_from_name (display, name) static new_from_pixbuf (d原创 2016-08-02 16:23:43 · 1474 阅读 · 0 评论 -
PyGobject(八十)Gtk.Clipboard
Gtk.ClipboardGtk.Clipboard剪贴板 Methods 方法修饰词 方法名及参数 static get (selection) static get_default (display) static get_for_display (display, selection) clear () get_display ()原创 2016-08-02 16:16:28 · 1602 阅读 · 0 评论 -
PyGobject(七十九)glade安装
在上一篇文章Gtk.Builder中有提到,用户UI界面可以用glade生成.那么glade到底是什么呢? glade是一个简易的UI创建工具,有很多部件,可以直接拖放到视图中,进行组合,最后视图将会以.glade文件的形式进行保存。先给大家看一下glade程序打开后的样子 左侧是部件区,中间是视图区,右上角是视图层次图,右下角是部件属性浏览及设置区。本篇文章不具体讲解glade的使用方法。原创 2016-08-01 15:08:13 · 2096 阅读 · 1 评论 -
PyGobject(七十八)Gtk.Builder篇
在前面的文章中,介绍完了常用的一些小部件。本篇将为大家介绍Gtk.Builder的使用。Gtk.BuilderGtk.Builder是一个辅助对象,通过读取用户定义好的UI文件(通常是使用glade生成)来获取部件,并将用户的UI展示出来。 Methods 方法修饰词 方法名及参数 static new () static new_from_file (filename)原创 2016-08-01 14:43:30 · 3601 阅读 · 0 评论 -
PyGobject(七十七)Gtk.Widget之Gtk.Switch
Gtk.SwitchGtk.Switch开关按钮,只有开和关两种状态,可通过点击或者左右拖动来切换状态。 Methods 方法修饰词 方法名及参数 static new () get_active () get_state () set_active (is_active) set_state (state)Virtual Methods原创 2016-08-01 13:44:09 · 1640 阅读 · 0 评论 -
PyGobject(七十六)Gtk.Widget之Gtk.Spinner
Gtk.SpinnerGtk.Spinner环形加载进度条。 Methods 方法修饰词 方法名及参数 static new () start () stop ()Virtual Methods Properties Name Type Flags Short Description active bool r/w/en Whe原创 2016-08-01 13:39:50 · 1299 阅读 · 0 评论 -
PyGobject(七十五)Gtk.Widget之Gtk.Scrollbar
Gtk.ScrollbarGtk.Scrollbar滚动条,是同Gtk.Scale一样,是Gtk.Range的直接子类 Methods 方法修饰词 方法名及参数 static new (orientation, adjustment)Virtual Methods Properties Name Type Flags Short DescriptionSig原创 2016-08-01 13:34:51 · 1490 阅读 · 0 评论 -
PyGobject(七十四)Gtk.Widget之Gtk.Scale
Gtk.Range使Adjustment可视化,是Gtk.Scale和Gtk.Scrollbar部件的公共基类。Gtk.Scale滑动条或刻度尺原创 2016-08-01 13:24:21 · 1828 阅读 · 0 评论 -
PyGobject(七十三)Gtk.Widget之Gtk.SpinButton
Gtk.SpinButtonGtk.SpinButton带有加减号的输入框,输入内容必须在给定的范围内继承关系Gtk.SpinButton是Gtk.Entry的直接子类 Methods 方法修饰词 方法名及参数 static new (adjustment, climb_rate, digits) static new_with_range (min, max, step)原创 2016-08-01 13:09:57 · 1305 阅读 · 0 评论 -
PyGobject(七十二)Gtk.Widget之Gtk.SearchEntry
Gtk.SearchEntryGtk.SearchEntry搜索输入框继承关系Gtk.SearchEntry是Gtk.Entry的直接子类 Methods 方法修饰词 方法名及参数 static new () handle_event (event)Virtual Methods do_next_match () do_previous_match ()原创 2016-08-01 12:58:59 · 1732 阅读 · 0 评论