请教使用drawingarea画矩形,但是不使用exposeevent的问题
//代码如下:
#include <gtk/gtk.h>
void draw_image(GtkWidget *widget,gpointer data)
{
gdk_draw_rectangle( widget->window,
widget->style->fg_gc[GTK_WIDGET_STATE( widget )],
TRUE,10, 10, 110, 110 );
}
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *draw_area;
gtk_init( &argc, &argv );
window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
gtk_widget_set_usize( window, 400, 300 );
g_signal_connect( G_OBJECT( window ), "destroy",
G_CALLBACK( gtk_main_quit ), NULL );
gtk_widget_show( window );
draw_area = gtk_drawing_area_new( );
gtk_widget_set_size_request( draw_area, 400, 300 );
gtk_container_add(GTK_CONTAINER(window),draw_area);
gtk_widget_show( draw_area);
draw_image(draw_area,NULL);
gtk_main( );
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我也是初学GTK的,不使用expose,当expose消息来了就使用系统默认的函数,什么也不画了。我认为是这样的,不知道还有哪位高出来指点一下我们这些初学者 。
画不出吧