【问题标题】:unable to connect callback function fron glade in gtk3 c program无法在gtk3 c程序中连接回调函数fron glade
【发布时间】:2017-11-30 14:14:08
【问题描述】:

我正在学习 GTK+ 和 glade。我想制作一个程序,当用户按下减号按钮时,标签号会减少,如果他/她/它按下添加按钮,则标签号应该增加

这是我的 main.c 文件:-

#include <gtk/gtk.h>

long a;
char s[20];

void add(short u)
{
    ++a;
    sprintf(s,"%ld",a);
}

void minus(short u)
{
    --a;
    sprintf(s,"%ld",a);
}

int main (int arg , char *argv[])
{
    gtk_init(&arg,&argv);

    GtkBuilder *builder = gtk_builder_new();
    gtk_builder_add_from_file(builder,"window1.glade",0);

    GtkWidget *win,*num;

    win = GTK_WIDGET(gtk_builder_get_object(builder,"window1"));
    num = GTK_WIDGET(gtk_builder_get_object(builder,"label1"));

    gtk_builder_connect_signals(builder,0);
    gtk_label_set_text(GTK_LABEL(num),s);

    gtk_widget_show_all(win);

    gtk_main();
}

每当我运行这个程序时,我都会在终端中得到关注:-

$

 ./a.out 

(a.out:3796): Gtk-WARNING **: Could not find signal handler 'minus'.  Did you compile with -rdynamic?

(a.out:3796): Gtk-WARNING **: Could not find signal handler 'add'.  Did you compile with -rdynamic?

作为一个完整的菜鸟 O 不知道下一步该做什么

【问题讨论】:

标签: c callback gtk gtk3 glade


【解决方案1】:

我刚刚用-rdynamic标志编译它并解决了问题

gcc main.c `pkg-config --cflags --libs gtk+-3.0` -rdynamic

【讨论】:

  • @Gerhardh 代码仍然无法正常工作,但至少现在连接了我要求的回调函数。
  • @Gerhardh 它说You can accept your own answer in 2 days
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 2015-03-11
  • 1970-01-01
  • 1970-01-01
  • 2020-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多