欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

施用moblin开发应用程序——clutter之gtk与clutter

更新时间: 2014-01-05 02:47:18 责任编辑: Author_N1

 

使用Moblin开发应用程序——Clutter之GTK与Clutter
 这篇文章是Intel的一位专家方亮写的,有关用Moblin开发应用程序,他做了一个系列,都一一的贴到这里给大家分享。

 系列一:使用Moblin开发应用程序——Clutter之GTK与Clutter
 在上次的Demo中我们实现了鼠标拖拽的效果。理论上说,现在该是做一些具体功能的时候了。写程序时却发现,在Clutter中要做个菜单、工具栏啥的太麻烦了。为了偷懒,我就尝试着将上次的Clutter程序先搬到熟悉的GTK上。

从Clutter的设计目标来看,Clutter是支持与GTK进行互操作的,也就是说,无论是在GTK的程序框架中嵌入Clutter控件还是在Clutter程序框架中嵌入GTK控件都是支持的。理论归理论,目前Clutter仅支持在GTK框架中嵌入Clutter代码。

要在GTK程序中使用Clutter,首要任务是搭台,也就是在GTK中为Clutter找到一个Stage。这个任务就交给控件GtkClutterEmbed来完成了。GtkClutterEmbed顾名思义就是嵌入在GTK窗口中的Clutter(Stage),它的角色是窗口中的默认Stage。有了这个Stage后,Clutter相关代码就与原生Clutter代码别无二致了。用GtkClutterEmbed这个控件之前,要

#include <clutter-gtk/gtk-clutter-embed.h> 或者 import cluttergtk。

在写程序时不能忘记此时我们是生活在GTK下滴,所以要用gtk main loop, gtk_main_quit(), gtk_...

直接看代码吧。

#!/usr/bin/python

 

import sys

import os

import random

 

import cluttergtk

import clutter

import gtk

 

STAGE_WIDTH=1024

STAGE_HEIGHT=768

Dragging = False

DraggingPhoto = None

 

class Photo:

       '''Photo class'''

       border_width = 10

 

       def __init__(self, path, stage):

              self.stage = stage

              self.path = path

              self.x = 0

              self.y = 0

              self.degree = 0

              self.drag_start_x = 0

              self.drag_start_y = 0

 

              self.pic = clutter.Texture()

              self.pic.set_from_file(path)

              self.width = self.pic.get_width()+2*Photo.border_width

              self.height = self.pic.get_height()+2*Photo.border_width             

              

              self.frame = clutter.Rectangle()

              self.frame.set_color(clutter.Color(0xff, 0xff, 0xff, 0xff))

              self.frame.set_position(self.x, self.y)

              self.frame.set_size(self.width, self.height)

 

              self.group = clutter.Group()

              self.group.add(self.frame)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:47:18
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/14413/
本文WWW.DOC100.NET DOC100.NET版权所有。