我想在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’
Run Code Online (Sandbox Code Playgroud)
任何有关这方面的帮助将不胜感激.
顺便说一句,如果有帮助,我正在使用ArchLinux进行写作.
Gtk3有很多变化.没有成员window作为一部分公开GtkWidget,成员已被移动到GtkWidgetPrivate不透明的结构,因此您无法直接访问成员GtkWidget.你将不得不使用存取功能,在这种情况下,你需要window的成员GtkWidget,你可以使用gtk_widget_get_window,但可能无法修复与您正在使用的代码示例.请注意,expose_event信号已被信号替换,draw因此您需要更新实际绘图的功能(on_expose_event在您认为的情况下).请参阅此链接以查看切换到Gtk3所需的更改列表.您可以参考gtk-demo应用程序提供的demos/gtk-demo源代码或Gtk3源代码来获取示例代码.
关于在Gtk2的情况下未显示图像,如果您正在使用图像样本,请确保图像文件在源中提到的路径中可用.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4168 次 |
| 最近记录: |