GTK와 QT 애플리케이션의 차이점은 무엇입니까?


54

많은 패키지가 GTK 및 QT 버전으로 제공됩니다.

  • 그들 사이의 차이점은 무엇입니까?
  • 성능이나 작업 방법에 차이가 있습니까?

답변:


41

일반적으로 사용자 관점과의 차이점은 순전히 외관상이어야합니다. Qt는와 GTK는 독립적으로 테마를 설정 (예를 들어,를 통해, qtconfig또는 gtk-chtheme)하지만 일부 데스크톱 환경에 의해 조화된다.

GNU / Linux는 전자가 더 일반적으로 사용된다는 점에서 Qt보다 더 GTK 지향적 인 경향이 있으므로, 선택시이를 선호 할 수 있습니다. KDE에서는 예외적으로, 자체 응용 프로그램에 Qt를 사용하지만 이러한 요소는 중요하지 않습니다.

보다 중요한 문제는 RAM이 매우 제한된 상황 (<1/4 GB)과 관련이 있습니다. 이 경우 시스템이 GTK 또는 Qt 만 사용하기를 원 하지만 둘 다 사용하지는 않을 것입니다. 그러나 기가 바이트 메모리가 장착 된 대부분의 최신 데스크톱에서는 걱정할 필요가 없습니다. 둘 다 광범위하게 사용하면 50-100MB의 추가 비용이들 수 있습니다.


GTK (2 및 3)와 Qt (3 및 4)의 버전은 여전히 ​​널리 사용되지만 이전 버전과 호환되지 않습니다 (Qt 3 애플리케이션은 Qt 4 라이브러리를 사용할 수 없음). 그러나 두 버전이 동시에 시스템에 존재할 수 있으며 이로 인한 가장 심각한 결과는 혼란과 약간의 메모리 팽창 가능성이 있습니다.


8
리눅스가 더 GTK 지향이라는 결론에 어떻게 도달하는지 알고 싶습니까? Linux는 일반적으로 GUI 사용자 공간 프로그램이 아닌 OS 커널이므로 툴킷 중 하나에 대한 편견이없는 Linux 커널 만 의미합니다. GNU / 리눅스를 운영 체제로 암시하려는 경우 여전히 귀하의 주장에 이의를 제기합니다. 우분투가 가장 인기있는 배포판이기 때문에 GNU / 리눅스가 GTK를 더 지향한다는 것은 축구가 세계에서 가장 많이 플레이되는 게임이기 때문에 Christiano Ronaldo가 최고의 스포츠맨이라고 말하는 것과 같습니다. (저도 논쟁합니다)
darnir

10
@darnir 저는 구어체 의미에서 운영 체제를 의미했기 때문에 "GNU"한정자를 넣겠습니다. 나는 나의 논문 방어 것 그것이 지향 Qt를보다 더 GTK는 : GTK (원래 "GIMP 도구 키트"를 상징하고, GIMP는 GNU 이미지 조작 프로그램을 =), 김프, 그놈은 모든 GNU 프로젝트와 핵심 부품이다 커널과 짝을 이룬 운영 체제에 대한 (사용자 영역) 비전은 "리눅스"가 역사적입니다. 따라서 GTK는 주로 리눅스 용 으로 개발되었으며 , 네이티브 C (vs. Qt의 C ++)이기도하지만 Qt는 진정한 크로스 플랫폼 엔티티입니다.
goldilocks

1
GTK의 역사와 어원에 대해 여러분에게 동의 하겠지만 이것은 GNU / Linux가 GTK를 지향한다는 것을 암시하지는 않습니다. 실제로 그 반대는 사실이며 당신의 진술에 의해 확인됩니다. GTK는 설계되었습니다 에 대한 아니라 다른 방법으로 주위에, 리눅스. Linux를 커널로, GNU / Linux를 운영 체제로 사용하면 모든 GUI 툴킷에 대해 무관심하다는 내 논문을 변호합니다. GTK는 우분투의 의존도가 높기 때문에 Qt보다 더 야생에서 종종 보입니다. 또한 시스템 리소스가 적다는 사실이 도움이됩니다.
darnir

3
@darnir 그렇습니다. OS는 본질적으로 GUI 툴킷 인 WRT와 무관합니다. GTK가 "기본"툴킷이라고 주장하지는 않습니다. 그러나 왜 "자주 볼 수있는"툴킷인지에 대해서는 틀 렸습니다. GTK는 우분투 이전 에 플랫폼에서 가장 널리 사용 된 툴킷 은 모든 배포판에서 광범위하게 사용되는 다른 기본 부품과의 관계로 인해 존재했습니다 . 이것이 대부분의 Linux GUI 응용 프로그램이 이미 GTK 응용 프로그램 인 이유이며, 더 많은 컨텍스트가 없어도 새로운 사용자에게 "동일한 것을 선택할 수 있습니다"라고 말하는 것이 합리적입니다. 그러나 그것은 중요하지 않습니다.
goldilocks

여러 다른 툴킷을 사용하려면 훨씬 더 많은 스토리지가 필요합니다. 나는 이것이 다른 것들을위한 공간 일뿐 아니라 성능에 영향을 줄 것이라고 생각하지 않습니다.
DaimyoKirby

19

아니요, 그러한 프로그램의 내부 구조에는 차이가 없습니다. GTK와 Qt는 사용자 인터페이스 툴킷 및 프레임 워크입니다. 개발자가 그래픽 인터페이스를 디자인하는 데 사용하는 라이브러리입니다.

그래픽 (GUI) 프로그램이 작성되면 먼저 핵심 내부가 개발됩니다. 이것이 프로그램을 실행시키는 것입니다. 당신은 결코 볼 수없는 핵심은, 단순히 백그라운드에서 실행됩니다. 이 핵심 이외에도 사용자 인터페이스 (UI)가 설계되었습니다.

이제 개발자는 처음부터 완전한 인터페이스를 디자인하거나 다른 사람이 만든 디자인을 재사용 할 수 있습니다. 디자인을 재사용하면 큰 장점이 있습니다. 컴퓨터의 모든 프로그램이 비슷하게 보일 수 있습니다. 따라서 GUI 툴킷을 사용합니다. GTK와 Qt는 매우 일반적인 GUI 툴킷입니다.

GTK는 GNOME의 표준 툴킷이며 Qt는 KDE에서 사용합니다. 사용자의 관점에서 보면 모양이 다릅니다. 이 프로그램은 핵심적으로 동일하게 유지됩니다.


4

고려해야 할 또 다른 중요한 측면은 대부분의 비영리 제작 프로젝트에서 자유롭게 사용할 수 있도록 명시 적으로 라이센스 공개에 대한 Qt 라이센스 링크 이지만, 상업적 관계가 가능하며이 경우에 제한이있을 수 있습니다. GTK는 독점 애플리케이션 GTK 명령문 에서도 자유롭게 사용할 수 있다고 명시합니다 .

Are there any licensing restrictions?
GTK is free software and part of the GNU Project. However, the licensing terms for GTK, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. 

복잡한 GUI 개발의 핵심 요소는 설계 키트로 GLADE에 의존하고 그것은 당신의 접근 방식 스위트 여부 빈터 링크를 . 크로스 플랫폼을 목표로하고 있지만 Qt만큼 광범위하게 지원되는 크로스 플랫폼이 아닐 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.