gpt4 book ai didi

c - 使用开罗在 gtkentry 上方绘图

转载 作者:太空宇宙 更新时间:2023-11-04 04:08:26 26 4
gpt4 key购买 nike

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

现在我的问题是,我正在绘制从 (0,0) 到 (100,100) 的直线。但是线条只出现在 gtkentry 的边界区域。文本所在的地方,它不会出现。

请帮忙。

亲切的问候-Durgesh O Mishra

最佳答案

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

GDK_WINDOW (gdk_window_peek_children (GTK_WIDGET (entry)->window)->data);

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

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

关于c - 使用开罗在 gtkentry 上方绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com