GtkAlignment은 widget의 정렬을 control하고, scaling도 관리합니다.
scailing은 위젯의 크기라고 생각하면 됩니다.
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <gtk/gtk.h> int main(int argc, char* argv[]) { GtkWidget* window; GtkWidget* align; GtkWidget* lbl; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "GtkAlignment"); gtk_window_set_default_size(GTK_WINDOW(window), 300, 200); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_container_set_border_width(GTK_CONTAINER(window), 5); align = gtk_alignment_new(1, 1, 0, 0); lbl = gtk_label_new("bottom-left"); gtk_container_add(GTK_CONTAINER(align), lbl); gtk_container_add(GTK_CONTAINER(window), align); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_widget_show_all(window); gtk_main(); return 0; } | cs |
1 | align = gtk_alignment_new(, 1, , ); | cs |
gtk_alignment_new()는 GtkAlignment 컨테이너를 생성한다.
파라미터는 0부터 1까지 가질 수 있음.
첫 번째 인자 : horizontal alignment 0 < a < 1
두 번째 인자 : vertical alignment 0 < a < 1
세 번째 인자 : horizontal scale, 수평으로 사용되지 않은 공간을 채운다.
네 번째 인자 : vertical scale, 수직으로 사용되지 않은 공간을 채운다.
1 | lbl = gtk_label_new("bottom-left"); | cs |
gtk_label_new() 함수는 label widget을 생성한다.
1 | gtk_container_add(GTK_CONTAINER(align), lbl); | cs |
GtkAlignment 컨테이너에 label을 더한다.
1 | gtk_container_add(GTK_CONTAINER(window), align); | cs |
window에 alignment 컨테이너를 위치시킨다.
실행 화면
1 | align = gtk_alignment_new(0, 0, 0, 0); | cs |
1 | align = gtk_alignment_new(0, 1, 0, 0); | cs |
1 | align = gtk_alignment_new(1, 0, 0, 0); | cs |
1 | align = gtk_alignment_new(1, 1, 0, 0); | cs |
각각의 상황을 보면 확실하게 이해할 수 있을 것입니다.
많은 도움 되었기를 바랍니다!
'컴퓨터 관련' 카테고리의 다른 글
GTK+ layout 관리 [4] GtkTable (0) | 2017.04.14 |
---|---|
GTK+ layout 관리 [3] GtkVBox, GtkHBox (0) | 2017.04.14 |
리눅스 vim 설치 방법 (0) | 2017.04.12 |
리눅스 커맨드 흔한 에러 해결법 [1] (3) | 2017.04.12 |
GTK+ layout 관리 [1] GtkFixed (0) | 2017.04.12 |
댓글