GTK 및 QT 버전 모두에서 많은 패키지를 사용할 수 있습니다.

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

답변

일반적으로 사용자 관점과의 차이는 순전히 외형이어야합니다. Qt와 GTK는 테마를 독립적으로 설정합니다 (예 : qtconfig 또는 gtk-chtheme) 그러나 이것은 일부 데스크탑 환경에서 조화를 이룹니다.

GNU / Linux는 전자가 Qt보다 GTK 지향적입니다. 더 일반적으로 사용되므로 선택에 따라 선호 할 수 있습니다. KDE에서는 예외가 있습니다. KDE는 자체 응용 프로그램에 Qt를 사용합니다. 이러한 요소는 매우 중요하지 않습니다.

A 더 중요한 문제는 RAM이 매우 제한된 상황 (예 : < 1 / 4GB)에서 발생합니다.이 경우 시스템에서 GTK를 독점적으로 사용하기를 원할 것입니다. 또는 Qt (둘다는 아님) 그러나 기가 바이트의 메모리를 사용하는 대부분의 최신 데스크톱에서는 문제가되지 않습니다. -둘 다 광범위하게 사용하면 50-100MB의 추가 비용이 발생할 수 있습니다.


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

댓글

  • 리눅스가 GTK 지향적이라는 결론을 어떻게 내 렸는지 알고 싶습니다. Linux는 일반적으로 GUI 사용자 공간 프로그램이 아닌 OS 커널이기 때문에 일반적으로 툴킷 중 어느 쪽에도 편견이없는 Linux 커널만을 의미합니다. GNU / Linux를 운영 체제로 암시하려는 경우 ' 여전히 귀하의 주장에 대해 이의를 제기합니다. Ubuntu가 가장 인기있는 배포판이기 때문에 GNU / Linux가 GTK 지향적이라고 말하는 것은 축구가 세계에서 가장 많이 플레이되는 게임이기 때문에 Christiano Ronaldo가 최고의 스포츠맨이라고 말하는 것과 같습니다. ('도 이의를 제기합니다.)
  • @darnir I ' " GNU " 한정자는 구어체의 의미에서 운영 체제를 의미했기 때문입니다. 저는 ' Qt 지향적 GTK보다 GTK가 더 많다 내 논문을 변호 할 것입니다. GTK (원래 " GIMP 도구 키트 " 및 GIMP = GNU 이미지 조작 프로그램), GIMP 및 GNOME은 모두 GNU 프로젝트이며 운영 체제에 대한 (사용자 영역) 비전의 핵심 부분입니다. , 커널과 쌍을 이룬 것은 역사적으로 " linux "입니다. 그래서 GTK는 리눅스 용으로 주로 개발되었으며 네이티브 C (vs. Qt ' s C ++)이기도하지만 Qt는 진정한 크로스 플랫폼에 가깝습니다.
  • GTK의 역사와 어원에 대해 동의하지만, 이것이 GNU / Linux가 GTK 지향적이라는 것을 암시하는 것은 아닙니다. 사실 그 반대가 사실이며 귀하의 진술로 확인됩니다. GTK는 리눅스 용으로 설계되었습니다. 저는 ' 커널로서의 Linux와 운영 체제로서의 GNU / Linux는 모든 GUI 툴킷에 대해 불가지론 적이라는 제 논문을 변호했습니다. GTK는 Ubuntu '에 대한 의존도가 높기 때문에 Qt보다 야생에서 자주 볼 수 있습니다. 또한 시스템 리소스가 더 가볍다는 사실이 도움이됩니다.
  • @darnir 예, OS는 본질적으로 GUI 툴킷의 WRT와 무관합니다. GTK가 " 네이티브 " 툴킷 등입니다.하지만 ' 이유가 잘못되었습니다. " 야생에서 자주 볼 수 있습니다. "-GTK는 Ubuntu가 존재하기 전에 플랫폼에서 가장 널리 사용 된 툴킷이었습니다. 모든 배포판에서 광범위하게 사용되는 기본 부분입니다. 이것이 바로 대부분의 Linux GUI 앱이 이미 GTK 앱인 이유이며, 더 이상의 컨텍스트없이 새로운 사용자에게 " You 하나를 " 선택하는 것이 좋습니다. 나머지는 모두 동일합니다. 하지만 그다지 중요하지 않습니다.
  • 여러 다른 툴킷을 사용하려면 훨씬 더 많은 스토리지가 필요합니다. 하지만 '이 작업이 성능에 영향을 미칠 것이라고 생각하지는 않지만 다른 작업을위한 공간 만 있습니다.

답변

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

그래픽 (GUI) 프로그램이 작성 될 때 먼저 핵심 내부가 개발됩니다. 이것이 프로그램을 실행시키는 것입니다. 핵심을 보지 하지 않고 단순히 백그라운드에서 실행됩니다. 이 핵심 위에 사용자 인터페이스 (UI)가 설계되었습니다.

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

GTK는 GNOME의 표준 툴킷이고 Qt는 KDE에서 사용됩니다. 사용자의 관점에서 보면 그저 다른 모습 일뿐입니다. 프로그램의 핵심은 동일합니다.

답변

고려해야 할 또 다른 중요한 측면은 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만큼 광범위하게 지원되는 크로스 플랫폼은 아닐 수 있습니다.

답변

각 개체 모델을 비교하는 방법과 C ++ 표준을 얼마나 가깝게 따르는 지- 내 제한된 경험으로 볼 때 QT는 코드 생성기에 약간 엉뚱한 것처럼 보였고 기능적으로 동등한 기능을 가진 문자열과 클래스 클래스로 휠을 재창조하는 것 같았습니다. 간단히 말해서 QT는 더 많은 휘파람과 종을 가지고있는 것 같았습니다. 유용하지만 무겁고 독점적 인 느낌을주는 것 같았습니다. 내가 말했듯이, 나는 그것에 대한 경험이 제한적이었습니다 (Gtk에 대해서는 더 적었습니다). C ++ 표준 (예 : STL, C ++ 문자열, 스레드 등)을 사용하려는 것에 대한 일반적인 접근 방식을 선호하는 개발자의 관점에서 오늘날의 비교 방법에 대한 의견이 필요합니다.

의견

  • 이것은 대부분의 SE 사이트에서 예상되는 ' 사실 기반 답변이 아니라 개인적인 의견과 매우 흡사합니다. 또한 QString와 같은 것들은 STL에 동등한 기능이 없었던 수십 년 전에 필요에 의해 탄생했습니다. 이제 최신 C ++ 표준이 대부분의 기능을 선택 했으므로 많은 Qt 클래스는 네이티브 C ++ 솔루션을 둘러싼 얇은 래퍼 일뿐입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다