首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cairo在gtkentry上绘制

使用cairo在gtkentry上绘制
EN

Stack Overflow用户
提问于 2010-05-23 19:05:15
回答 1查看 302关注 0票数 1

我想使用cairo来增强gtkentry的外观。为此,我将一个回调连接到'expose-event‘。在回调中,我调用gtkentry的原始expose-event处理程序。在此之后,我创建了cairo上下文,并绘制了一些线,并销毁了cairo。我返回'TRUE‘作为回调函数的返回值,这样expose-event就不会传播了。

现在我的问题是,我从(0,0)到(100,100)画了一条线。但是线只出现在gtkentry的边界区域。文本所在的位置,它不会出现。

请帮帮忙。

Kind关于-Durgesh O Mishra

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-23 19:18:58

GtkEntry对文本区域使用额外的GdkWindow。它是私有的,但您可以使用以下代码访问它:

代码语言:javascript
复制
GDK_WINDOW (gdk_window_peek_children (GTK_WIDGET (entry)->window)->data);

因此,您可以将此窗口传递给gdk_cairo_create()

如果您在将此代码应用于您的代码时遇到问题,请粘贴代码-如果没有任何测试方法,则很难猜测要做什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2891444

复制
相关文章

相似问题

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