Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将GtkExpander添加到GtkScrolledWindow?_C_Gtk - Fatal编程技术网

如何将GtkExpander添加到GtkScrolledWindow?

如何将GtkExpander添加到GtkScrolledWindow?,c,gtk,C,Gtk,我有一些这样的代码: GtkWidget *scrollWin; void appendDataToWindow(GtkWidget *widget, gpointer data) { GtkWidget *expander; expander = gtk_expander_new("GET somepage.html 200 OK 100K"); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(

我有一些这样的代码:

GtkWidget *scrollWin;

void appendDataToWindow(GtkWidget *widget, gpointer data)
{
    GtkWidget *expander;
    expander = gtk_expander_new("GET somepage.html  200 OK   100K");
    gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollWin), 
                                          expander);
}

int main()
{
    // initialize a window
    // add a vbox to the window
    scrollWin = gtk_scrolled_window_new(NULL, NULL);
    gtk_box_pack_start(GTK_BOX(vbox), scrollWin, FALSE, TRUE, 5);
    // add a button to the vbox
    // when the button is clicked, appendDataToWindow will be called

    gtk_widget_show_all(window);
    gtk_main();
    return 0;
}

我想做的是,当点击按钮时,一个新的GtkExpander将被添加到滚动窗口中,但它不起作用。。任何建议都会有帮助。

看起来不错,但您似乎缺少按钮创建:

GtkWidget *button;

button = gtk_button_new_with_label("Click me");
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(appendDataToWindow), scrollWin);

根据需要添加代码将按钮打包到窗口中,然后更改回调(
appendDataToWindow
)以在
数据
参数中预期滚动窗口小部件指针,这样
scrollWin
就不必是全局的。

也许您只是缺少了一些gtk\u小部件的show()调用