리눅스 gtk 예제

By | August 2, 2019

GTK+ 응용 프로그램에서 main() 함수의 목적은 GtkApplication 개체를 만들고 실행하는 것입니다. 이 예제에서는 gtkApplication 명명된 앱이 호출된 다음 gtk_application_new()를 사용하여 초기화됩니다. 다음 예제는 약간 더 복잡하며 GTK+의 일부 기능을 보여 주려고 합니다. 또한 MS/Visual C++ 모범 사례에 대한 YoLinux 자습서를 참조하여 이 IDE가 만들 수 있는 혼란을 최소한으로 유지합니다. 이미지를 사용하여 상태를 표시: pixmaps를 사용하여 상태를 표시하여 디스플레이를 변경해야 할 수 있습니다. 이 예제에서는 세 가지 색상 상자(회색, 빨간색 및 녹색)를 생성하고 표시하지만 관련이 있는 항목에 따라 한 번에 하나씩만 표시합니다. 다음 구문을 사용하여 이 작업을 약간 줄일 수 있으므로 변수가 단추 목록을 보유할 필요가 없습니다. 이 양식은 세 번째 버튼을 만드는 예제에서 사용됩니다 :이 튜토리얼은 글레이드 3.16.1 및 GTK + 개발 라이브러리 3.10.8 ~ 8 + qiana (libgtk-3-dev)와 리눅스 민트 17.3 계피 64 비트 컴퓨터에서 개발되었다. Pango는 GTK+에서 국제화된 텍스트의 레이아웃 및 렌더링을 위한 프레임워크입니다. 리눅스 시스템에서 최종 렌더링은 X-Windows에 의해 수행됩니다. Pango는 내부적으로 유니코드 문자를 사용합니다.

여기서 예로 는 기존 ASCII 8비트 소프트웨어와 사용할 수 있는 UTF-8을 사용합니다. Pango의 오프셋은 문자가 아닌 바이트로 계산됩니다. Pango는 일본어, 그리스어 및 아랍어와 같은 로마자 이외의 문자 언어를 지원하기 위해 만들어졌지만 영어 UTF-8 예제만 표시됩니다. 이 YoLinux.com GTK+ 2 자습서는 다양한 대상 OS 플랫폼에 대한 컴파일을 위해 단일 GUI API를 사용하여 소프트웨어를 작성하려는 C/C++ 응용 프로그램 개발자를 대상으로 합니다. 그놈 홈 페이지 (GTK.org)는 GTK + 2 API의 기본 사용에 대 한 귀중 한 리소스. 또한 창의 테두리 너비를 설정한 후 gtk_widget_realize에 대한 호출을 확인합니다. 이 함수는 GDK를 사용하여 위젯과 관련된 X 창을 만듭니다. 위젯에 대해 gtk_widget_show를 호출할 때 함수가 자동으로 호출되므로 이전 예제에서는 표시되지 않습니다.

그러나 gdk_pixmap_create_from_xpm을 호출하려면 창 인수가 실제 X 창을 참조해야 하므로 이 GDK 호출 전에 위젯을 실현해야 합니다. 이 예제는 동일한 위젯에 연결된 두 개의 콜백이 있는 텍스트 입력 및 위/아래 화살표를 처리합니다. Gtk#을 사용하여 빌드된 응용 프로그램은 Linux, Windows 및 macOS를 비롯한 여러 플랫폼에서 실행됩니다. Windows용 Mono 패키지에는 GTK, Gtk# 및 응용 프로그램을 네이티브 Windows 응용 프로그램처럼 보이게 하는 네이티브 테마가 포함되어 있습니다. 모노 1.9부터 macOS에서 Gtk# 응용 프로그램을 실행하는 것은 더 이상 X11 서버를 실행할 필요 없습니다. [19] 다음은 gtk_button_new를 사용하여 그림과 레이블이 있는 단추를 만드는 예입니다. 나는 당신이 당신의 프로그램에서 사용할 수 있도록 나머지에서 상자를 만들기 위해 코드를 분해했습니다. 자습서의 후반부에서 pixmaps를 사용하는 추가 예제가 있습니다. 예제-1.c의 나머지 코드는 예제-0.c와 동일합니다. 다음 섹션에서는 GTK 응용 프로그램에 여러 GtkWidgets를 추가하는 방법에 대해 자세히 설명합니다.

참고: 텍스트 레이블 예제에서 gtk_label_set_markup() 및 위의 함수에 해당하는 GTK+ 호출을 사용할 수도 있습니다. GTK 프로그램은 X11 및 Wayland를 기반으로 하는 데스크톱 환경에서 실행될 수 있으며, 필요한 라이브러리가 설치된 경우 GTK로 만들지 않은 윈도우 관리자도 실행할 수 있습니다. 여기에는 X11.app이 설치된 경우 macOS가 포함됩니다.

Category: Uncategorized