Gtk_widget_queue_draw:断言'GTK_IS_WIDGET(widget)'失败[UBUNTU]

时间:2018-08-16 04:20:49

标签: gtk gtk3 glade

每次尝试按下按钮时我都试图绘制图片,但是出现此错误:

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。

0 个答案:

没有答案