본문 바로가기

GTK+12

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.
GTK+ layout 관리 [5] Corner buttons 모서리에 버튼 위치시키는 방법. 이번 기능은 Window창의 모서리에 버튼을 위치시키는 방법을 소개하고자 한다. 보통 다이얼로그 창에는 버튼을 가운데 두지 않는다. 보통 모서리에 두기 때문에 GTK에서도 이러한 기능을 따로 두지 않았나라고 조심히 생각해본다. 그럼 예를 보자. 출처: http://zetcode.com/gui/gtk2/gtklayoutmanagement/ 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *okBtn; GtkWidget *clsBtn; GtkWidget *vbox; Gt.. 2017. 4. 23.