본문 바로가기

컴퓨터 관련/Linux || Unix52

GTK+ 이벤트[2] g_signal_connect과 g_signal_connect_swapped 의 차이점 GTK를 하면서 가장 궁금했던 점은 g_signal_connect과 g_signal_swapped 의 차이점이었다.비슷한 기능인데, 굳이 왜 존재하는 함수일까라는 의문이 많이 들었다.이러한 고민을 하는 분에게 간단하게 소개하고자 한다.123g_signal_connect_swapped (button, "clicked", (GCallback) gtk_widget_hide, other_widget);Colored by Color Scriptercs 12345678910111213static void button_clicked_cb (GtkButton* button, GtkWidget* other_widget) { gtk_widget_hide (other_widget); } ... g_signal_connect.. 2017. 4. 23.
GTK+ 이벤트[1] 시그널 형태 GTK를 개발하다보면 당연히 시그널을 처리해야하는 경우가 발생할 것이다. 그 이유는 GUI에서 마우스나 키보드로 이벤트를 입력할 것인데, 그에 해당하는 출력을 주기 위해서는 어떠한 신호를 줘야하기 때문이다. 이때, 시그널을 처리함으로써, GTK는 좀 더 자유롭고 다양한 기능을 발휘한다고 생각한다. 이번 포스팅은 시그널에 대한 설명을 하고자 한다. 1234567gulong g_signal_connect( gpointer* object, const gchar* name, GCallback func, gpointer func_data );cs- gulong형 리턴값 : callback함수를 확인하기 위한 꼬리표. 따라서 시그널과 object에 대해 필요한 만큼의 많은 callback을 가질 수 있고, 그것들이.. 2017. 4. 23.
GTK+ 컨테이너 Widget [2] Scrollbar widget 스크롤바를 붙이는 기능을 한다.123GtkWidget* gtk_scrolled_window_new (GtkAdjustment* hadjustment, GtkAdjustment* vadjustment);Colored by Color Scriptercs스크롤바를 생성한다.GtkAdjustment형의 포인터를 인자로 받는 데, 없으면 NULL을 넣어도 된다.123void gtk_scrolled_window_set_policy (GtkScrolledWindow* scrolled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy);csenum GtkPolicyTypeGTK_POLICY_ALWAYS : 스크롤바를 항상 보이도록 한다. .. 2017. 4. 23.
GTK+ 컨테이너 Widget [1] Paned Window Widget 이번에는 GTK+ 컨테이너 Widget 방법을 소개하려고 한다. 그 중, Paned Window Widget을 설명하겠다. - paned window widget은 두 영역으로 나누어서 임의대로 화면 크기를 조절할 수 있는 기능을 제공한다. - 두 영역은 handle로 비율을 바꿀 수 있다. - 분할은 수평(HPaned)적이거나 수직(VPaned)적으로 나눌 수 있다. - 분할된 공간에는 하나의 widget만 넣을 수 있다. 하지만 분할된 공간안에 또 다른 paned window widget을 넣는다면 공간을 더 분할할 수 있다. 예제 출처 : https://developer.gnome.org/gtk-tutorial/stable/x1335.html 1234567891011121314151617181920.. 2017. 4. 23.