我正在尝试使用gtk3 gui制作一个应用程序。目前我的代码如下。
我想要做的是,当您按下生成按钮时,生成的随机数将添加到标签中。我该怎么做呢?谢谢!
SRV*c:\symbols*G:\Foundations\Symbols;SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
答案 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
函数的顶部。
没有其他任何需要改变。