首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pyclutter进行编程

使用pyclutter进行编程
EN

Stack Overflow用户
提问于 2011-02-14 01:31:10
回答 1查看 480关注 0票数 2

我对杂乱(和杂乱)还很陌生。我一直在尝试使用pyclutter。到目前为止,我还没有找到任何好的教程。我的意思是没有什么能真正解释清楚的。我看到了几个示例程序,但当我尝试使用pyclutter时,我没有得到任何好的结果。这些命令是可用的,但它们的正确使用才是导致问题的原因。我试着用pyclutter来渲染一条线,但还没能做到。我的代码:

代码语言:javascript
复制
import clutter
from clutter import cogl

stage = clutter.Stage()
stage.set_size(400, 400)

label = clutter.Text()
label.set_text("line")

stage.add(label)

clutter.cogl.set_source_color4ub (255,0,0,255)
clutter.cogl.path_line(100,100,200,200)
clutter.cogl.path_stroke()

stage.show_all()
stage.connect("destroy",clutter.main_quit)
clutter.main()

我的错误可能真的很愚蠢,但如果有人能给我一个好的教程,让我从中学习杂乱(Pyclutter),我会非常感激。

EN

回答 1

Stack Overflow用户

发布于 2011-03-04 16:57:13

这是行不通的,因为cogl是使用OpenGL的抽象。在OpenGL的世界里,每一帧都必须绘制。这意味着,你的代码将只执行一次,一旦你的窗口翻转,你就看不到这一行。您可以为此创建一个自定义执行元,并将指令放入do_paint()方法中:

代码语言:javascript
复制
class MyDrawing(clutter.Actor):
    __gtype_name__ = 'MyDrawing'
    def do_paint(self):
        clutter.cogl.set_source_color4ub (255,0,0,255)
        clutter.cogl.path_line(100,100,200,200)
        clutter.cogl.path_stroke()

然后,在您的示例中使用它,就像文本参与者:

代码语言:javascript
复制
stage.add(MyDrawing())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4985686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档