[英]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.