Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
clutter学习笔记一(不是教程,请不要骂人)
社区开发
1946
views ·
1
replies ·
To
floor
Go
z85525006
deepin
2012-02-05 00:28
Author
本人现在在学习clutter,所以作个笔记,并不是要教大家什么,大家可以互相讨论下哈!
所有内容来自网上和API手册,官方C语言版本的clutter.
================================================
能制作非常美观的动画,我看的很心动,所以就提前学习,也希望能早出这样美观的界面,太爽啦.
DeepinScrot-1321.png
要求读者具备 python 语言基础知识。
Clutter 的关键概念,介绍常用的用户界面元素 ("actors")。关于 API 接口的详细信息,请参考 API 参考手册。本书使
用的 API 是 Clutter 1.0 版本。
Clutter 用到了一些 GTK+ 接口,所以必要时你得去查 GTK+ 文档。
安装依赖库:
安装 Clutter 之前需要先安装依赖库,涉及如下包:
GTK+
libgl (Mesa)
这些包又有自己的依赖包,包括:
pkg-config
glib
ATK
Pango
C版本的编译: `pkg-config clutter-1.0 --cflags --libs`
====================================================
继承关系
GObject
+----GInitiallyUnowned
+----ClutterActor
+----ClutterRectangle
+----ClutterTexture
+----ClutterClone
+----ClutterText
+----ClutterGroup
+----ClutterStage
+----ClutterBox
Copy the Code
====================================================
可用的Actor类型
ClutterActor:所有可见的演员的基础抽象类
基础演员:
ClutterRectangle、 ClutterTexture、ClutterClone、
ClutterText、 ClutterCairoTexture
容器类演员:
ClutterGroup、ClutterStage、ClutterBox
====================================================
ClutterActor可能接收的Signals:
"allocation-changed" : Run Last
"button-press-event" : Run Last
"button-release-event" : Run Last
"captured-event" : Run Last
"destroy" : Cleanup / No Recursion / No Hooks
"enter-event" : Run Last
"event" : Run Last
"hide" : Run First
"key-focus-in" : Run Last
"key-focus-out" : Run Last
"key-press-event" : Run Last
"key-release-event" : Run Last
"leave-event" : Run Last
"motion-event" : Run Last
"paint" : Run Last
"parent-set" : Run Last
"pick" : Run Last
"queue-redraw" : Run Last
"queue-relayout" : Run Last
"realize" : Run Last
"scroll-event" : Run Last
"show" : Run First
"unrealize" : Run Last
Copy the Code
=====================================================
五、Actor和Stage
基本概念和原理
可见的元素叫做“Actors”;
“Actors”被放置在“Stage”上;
“Actors”有“parents”和“children”;
“Actors”可以通过事件和动画直接操作。
Actors
1.可以应用的效果
position:按坐标(x, y, z) 在3维空间位移;
rotation:沿三个坐标轴旋转;
size:大小变化;
opacity:透明度变化;
scale:伸缩变化;
2.效果对于children也有效
3.坐标是相对parent的
====================================================
Stage 基础:
每个 Clutter 应用程序至少包含一个 clutter.Stage。这个 stage 包含矩形 (rectangle)、图像 (image)、文本 (text)等界面元素 (actor)。
ClutterStage 继承于 ClutterActor,所以 actor 的很多函数都可以被 stage 使用。比如,调用 clutter.actor.show 显示 stage。
ClutterStage 也实现了 ClutterContainer 的接口,因此通过调用 ***.add() 加入自己的 actor。
调用 clutter.main() 开始 main 循环,以便于 stage 的 actor 可以动起来并与用户交互。
简单的例子:
#!/usr/bin/env python
#! coding:utf-8
import clutter
import gtk
class Clutter():
def __init__(self):
stage = clutter.Stage()
clutter.Actor.set_size(stage,200,200)
stage.connect('destroy', clutter.main_quit) #退出clutter窗口
stage.connect("button-press-event", self.stage_button_press)
stage.show() #改为clutter.Actor.show(stage),也能显示stage
clutter.main()
def stage_button_press(self,s, e):
print e.x, e.y
Clutter()
Copy the Code
=================================================================
不要鄙视我,我只是在学习,做个笔记!
Reply
Like 0
Favorite
View the author
All Replies
lovesnow
deepin
2012-02-06 05:34
#1
: 好吧,好好整理, 好让我发扬一下 拿来主义!
Reply
Like 0
View the author
Please
sign
in first
New Thread
Popular Ranking
Change
如何安装软件安装包?
Instructions on How to change the language in Thunderbird
EZVIZ on Linux
Popular Events
More
所有内容来自网上和API手册,官方C语言版本的clutter.
================================================
能制作非常美观的动画,我看的很心动,所以就提前学习,也希望能早出这样美观的界面,太爽啦.
DeepinScrot-1321.png
要求读者具备 python 语言基础知识。
Clutter 的关键概念,介绍常用的用户界面元素 ("actors")。关于 API 接口的详细信息,请参考 API 参考手册。本书使
用的 API 是 Clutter 1.0 版本。
Clutter 用到了一些 GTK+ 接口,所以必要时你得去查 GTK+ 文档。
安装依赖库:
安装 Clutter 之前需要先安装依赖库,涉及如下包:
GTK+
libgl (Mesa)
这些包又有自己的依赖包,包括:
pkg-config
glib
ATK
Pango
C版本的编译: `pkg-config clutter-1.0 --cflags --libs`
====================================================
可用的Actor类型
ClutterActor:所有可见的演员的基础抽象类
基础演员:
ClutterRectangle、 ClutterTexture、ClutterClone、
ClutterText、 ClutterCairoTexture
容器类演员:
ClutterGroup、ClutterStage、ClutterBox
====================================================
ClutterActor可能接收的Signals:
五、Actor和Stage
基本概念和原理
可见的元素叫做“Actors”;
“Actors”被放置在“Stage”上;
“Actors”有“parents”和“children”;
“Actors”可以通过事件和动画直接操作。
Actors
1.可以应用的效果
position:按坐标(x, y, z) 在3维空间位移;
rotation:沿三个坐标轴旋转;
size:大小变化;
opacity:透明度变化;
scale:伸缩变化;
2.效果对于children也有效
3.坐标是相对parent的
====================================================
Stage 基础:
每个 Clutter 应用程序至少包含一个 clutter.Stage。这个 stage 包含矩形 (rectangle)、图像 (image)、文本 (text)等界面元素 (actor)。
ClutterStage 继承于 ClutterActor,所以 actor 的很多函数都可以被 stage 使用。比如,调用 clutter.actor.show 显示 stage。
ClutterStage 也实现了 ClutterContainer 的接口,因此通过调用 ***.add() 加入自己的 actor。
调用 clutter.main() 开始 main 循环,以便于 stage 的 actor 可以动起来并与用户交互。
简单的例子:
不要鄙视我,我只是在学习,做个笔记!