2011-12-29 2 views
0

가능한 중복 :
Linux GUI programming
Linux에서 어떻게 프로그래밍합니까?

C에서 더 구체적으로 우분투 11.10 ++. 내가 정말로 배우고 싶은 것은 GUI 기반의 응용 프로그램을 만드는 것입니다.

나는 윈도우를 안다. 당신은 win32 API를 사용할 것이고, 거기에는/리눅스에 포함 된 것이 있는가?

내 어리 석음을 용서해주십시오 (필요한 경우), 방금 리눅스를 사용하기 시작했습니다.

+1

먼저 KDE 및 그놈 프로젝트를보십시오! – B4NZ41

+1

안녕하세요. 이 사이트는 특히 기본 주제에 대해 이미 많이 묻는 질문 모음을 가지고 있습니다. 나는 이미 질문을 받고 답을했기 때문에 귀하의 질문을 끝내기로 투표했습니다. – thiton

답변

1

리눅스에서는 GTK+을 사용하는 것이 일반적입니다. 리눅스에서 잠시 동안 GUI 프로그래밍을하지 않았으므로 새로운 것이 더 좋은지, 아니면 더 좋은지 모르겠습니다.

0

사용할 수있는 몇 가지 툴킷이 있습니다. C++에 익숙하다면 Qt 프레임 워크는 크로스 플랫폼 애플리케이션을 만드는 데 도움이 될 것입니다. http://www.qt.nokia.com/downloads/

+0

QT에 대해 들어 본 적이 없지만 한번도 시도하지 않았습니다. 나는 그것을 들여다 볼 것이다 – ILikePizza555

2

인기있는 두 가지 기본 GUI 프레임 워크는 GTKQt입니다. 일반적으로 GTK 프로그램은 GNOME 데스크톱에서보다 "집에서"느끼며 Qt 프로그램은 KDE 데스크톱에서 "집에서"더 많이 느낍니다. 하나를 위해 작성된 프로그램은 다른 프로그램에서 자유롭게 실행될 수 있으며 "데스크톱"(나 같은)을 사용하지 않는 사용자는 (많은) 문제점없이 두 프레임 워크 모두에서 프로그램을 실행할 수 있습니다. Xfce은 GTK 나 Qt만큼 널리 배포 된 것은 아니지만 또 다른 인기있는 프레임 워크입니다.

일부 사람들은 GTK를 wxWidgets에 프로그래밍하는 것을 선호합니다. 그 중 일부는 Windows 및 OS X에서도 고유 한 모양과 느낌으로 실행될 수 있기 때문입니다.

+0

좋아, 고마워. GNOME 3을 우분투 파티션에 설치 했으므로 GTK에 대해서도 살펴볼 것입니다. – ILikePizza555

4

바보라고 생각하지 마십시오. 프로그래밍을 시작할 때 나는 그래픽 카드로 작업 할 그래픽조차 얻지 못했고 경험이 많은 사람들로부터 도움을 얻을 때까지 몇 주 동안 콘솔에 간단한 것들을 써야했습니다.

요즘에는 GUI 응용 프로그램을 작성하는 두 가지 기본 방법이 있습니다. Windows에서는 Win32 API이고, Linux (및 모든 종류의 유닉스 계열 시스템)에서는 X11 API입니다. Carbon이라는 C API (이제는 지원되지 않음)와 Objective-C API 인 Cocoa를 제공하는 Mac OS X도 있습니다.이 API는 OS X 및 iOS (iPhone, iPad) 용 GUI를 만드는 데 사용됩니다.

그러나 X11과 Win32는 매우 낮은 수준이며 사용하기 어렵고 휴대 할 수 없습니다. 하나의 플랫폼을위한 프로그램을 작성하는 데 많은 노력을 기울여야한다는 것을 의미하며, 다른 플랫폼에서 작동하지 않는다는 것을 의미하므로 여러 코드를 하나씩 유지해야합니다.

다행히도 모든 차이점을 숨기고 플랫폼에 독립적 인 GUI API가 있습니다. 즉, Windows, Linux 및 기타 플랫폼에서 작동하는 단일 코드를 작성할 수 있습니다. 이 전면에

두 신호수 프레임 워크는 다음과 같습니다

  • Qt

    - (혼합 자바 스크립트) 크로스 플랫폼 C++ 툴킷.
  • GTK - C/C++ 라이브러리

더 많은 정보가 있지만 그 중 가장 인기가 있으며 좋은 이유가 있습니다. 그 중 하나를 배우기 시작하는 것이 좋습니다. 내 개인적인 취향은 Qt입니다. Qt Creator라는 동일한 회사의 멋진 휴대용 C++ IDE도 있습니다. 요즘 가장 좋으며 Qt와 매우 밀접하게 통합되어 있습니다. 강력히 권장합니다 (비록 내가 emacs를 사용하더라도 - 유닉스 자체는 IDE 임).

또한 C 또는 C++을 사용하지 않는 경우 Linux, Unix 및 (아마도?) 다른 플랫폼에서 작동하는 GUI가있는 C# 프레임 워크 Mono이 있습니다. 나는 그것에 대한 경험이 전혀 없다. 지난 번에 내가봤을 때 많은 라이센싱 문제가 있었고 모든 것이 보잘것없는 것으로 보일만한 가치가 없었습니다.

희망이 있습니다.

관련 문제