1
2 개의 GtkLayouts를 GtkLayout에 넣으 려합니다. 그러나, 그것은 작동하지 않는 것 같습니다. 왜 그 사람이 누군지 압니까? 또는 gtk 구성 요소를 사용하는 데 몇 가지 제한이 있습니다.GtkLayout을 GtkLayout에 넣을 수 있습니까?
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window, *main_container, *t, *p;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "layout test");
gtk_window_maximize(GTK_WINDOW(window));
g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
main_container = gtk_layout_new(NULL, NULL);
GdkColor color;
gdk_color_parse ("green", &color);
gtk_widget_modify_bg(GTK_WIDGET(main_container), GTK_STATE_NORMAL, &color);
gdk_color_parse ("red", &color);
t = gtk_layout_new(NULL, NULL);
gtk_layout_set_size(GTK_LAYOUT(t), 300, 300);
gtk_widget_modify_bg(GTK_WIDGET(t), GTK_STATE_NORMAL, &color);
gdk_color_parse ("yellow", &color);
p = gtk_layout_new(NULL, NULL);
gtk_layout_set_size(GTK_LAYOUT(p), 300, 300);
gtk_widget_modify_bg(GTK_WIDGET(p), GTK_STATE_NORMAL, &color);
gtk_layout_put(GTK_LAYOUT(main_container), t, 0, 0);
gtk_layout_put(GTK_LAYOUT(main_container), p, 0, 300);
gtk_container_add(GTK_CONTAINER(window), main_container);
gtk_widget_show_all (window);
gtk_main();
return 0;
}
여기서 C++의 유일한 것은'using namespace std'입니다. 이것은 정말로 C 코드입니다. GTK +로 실제 C++을하고 싶다면 C++ 바인딩 인 GTKmm을 사용하십시오. – liberforce