每次尝试按下按钮时我都试图绘制图片,但是出现此错误:
Gtk-CRITICAL **: gtk_widget_queue_draw: assertion 'GTK_IS_WIDGET (widget)' failed
当我按下按钮时,我会调用下一个功能:
void generar_vector(GtkWidget *darea, cairo_t *cr,gpointer user_data)
{
gtk_widget_queue_draw(GTK_WIDGET(user_data));
}
然后,有一个函数可以绘制一些东西:
gboolean do_drawing(GtkWidget *darea,cairo_t *cr,__attribute__((unused)) gpointer data)//_attribute_((unused))
{
cairo_set_source_rgb(cr, 0, 0, 0);
cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size(cr, 20.0);
cairo_move_to(cr, 20.0, 100.0);//el prmer valor es fila el otro columna
cairo_show_text(cr, "Elegir Vector");
return FALSE;
}
我已经在Glade中配置了点击信号,并且在“绘图区域”的“ draw”信号中配置了功能:do_drawing。