繁体   English   中英

与gtk3一起使用cairo

[英]using cairo with gtk3

我试图在gtk3中用cairo绘制散点图。 首先,我在这里使用示例:http: //zetcode.com/tutorials/cairographicstutorial/

他们使用gtk2成功编译,但未显示任何图像。 它们不使用gtk3进行编译,但给出以下错误:

example.c: In function ‘on_expose_event’:
example.c:17:31: error: ‘GtkWidget’ has no member named ‘window’

任何帮助,将不胜感激。

顺便说一句,如果有帮助,我正在使用ArchLinux进行编写。

Gtk3进行了很多更改。 GtkWidget不再window任何成员window ,成员已移至GtkWidgetPrivate ,这是一个不透明的结构,因此您无法直接从GtkWidget访问成员。 您将必须使用访问器函数,在这种情况下,如果您需要GtkWidget window成员,则可以使用gtk_widget_get_window ,但这可能无法修复您正在使用的代码示例。 请注意, expose_event信号已替换为draw信号,因此您将需要更新实际绘制的函数(我认为您的情况是on_expose_event )。 请参考此链接以查看切换到Gtk3所需的更改列表。 您可以从Gtk3源代码引用gtk-demo应用程序提供的源代码或demos/gtk-demo以获得示例代码。
关于在Gtk2中未显示的图像,如果您使用的是图像样本,请确保该图像文件在源中提到的路径中可用。
希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM