单击按钮更新标签

时间:2015-10-03 20:47:43

标签: c gtk label gtk3

我正在尝试使用gtk3 gui制作一个应用程序。目前我的代码如下。

我想要做的是,当您按下生成按钮时,生成的随机数将添加到标签中。我该怎么做呢?谢谢!

SRV*c:\symbols*G:\Foundations\Symbols;SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

1 个答案:

答案 0 :(得分:1)

GTK中的所有信号处理程序都需要回调函数的特定函数参数。也就是说,“clicked”信号只接受两个,即被点击的GtkWidget,以及要传递给回调函数的用户数据。

首先改变这个......

print_rnum (GtkWidget *widget, GtkButton *button, GtkLabel *label, gpointer user_data)

对此...

print_rnum (GtkWidget *widget, gpointer user_data)

接下来将标签传递给信号处理程序回调函数,就像这样......

g_signal_connect (button, "clicked", G_CALLBACK (print_rnum), label);

然后print_rnum需要将用户数据转换为GtkWidget类型,就像这样......

GtkWidget *label = (GtkWidget *) user_data;

这应该在print_rnum函数的顶部。

没有其他任何需要改变。