如何在GTK +中将额外值传递给信号?
例如:
void btnclicked(GtkWidget *widget, gpointer data, const char *str)
{
std::cout << str;
}
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(btnclicked), NULL, "extra string");
Run Code Online (Sandbox Code Playgroud)
我不能使用C++ 0x.
这就是该data参数的用途:
void btnclicked(GtkButton *button, gpointer data)
{
const char *str = (const char *)data;
std::cout << str;
}
g_signal_connect(button, "clicked", G_CALLBACK(btnclicked), "extra string");
Run Code Online (Sandbox Code Playgroud)
如果你使用Gtkmm,那么在C++中有更好的方法sigc,但是由于你使用的是GTK的C API,你必须以C方式进行.
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |