Qt는 컴퓨터 프로그래밍에서GUI 프로그램 개발에 널리 쓰이는 크로스 플랫폼 프레임워크이다. 서버용 콘솔과 명령 줄 도구와 같은 비GUI 프로그램 개발에도 사용된다. 그래픽 사용자 인터페이스를 사용하는 경우에는 Qt를위젯 툴킷으로 분류한다. 회사 내부에서는 Qt를 "cute"로 발음하고 있으며 비공식적으로는 "큐티"로 발음한다. Qt는KDE,Qtopia,OPIE에 이용되고 있다,
노르웨이 회사트롤텍에 의해서 개발되었다. 2008년 1월에는노키아에 인수되었다.[3] 이후, 2012년 8월에 핀란드 회사Digia에 인수되었다.[4]
Qt는C++를 주로 사용하지만,파이썬,루비,C,펄,파스칼과도 연동된다. 수많은 플랫폼에서 동작하며, 상당히 좋은 국제화를 지원한다.SQL 데이터베이스 접근,XML 처리,스레드 관리, 단일 크로스 플랫폼 파일 관리API를 제공한다.
하버드 노드(Haavard Nord)와 에이릭(Eirik Chambe-Eng, Qt의 원 개발자이자 현재 트롤텍의 CEO) 둘은1991년 Qt의 개발을 시작했다. 이 회사의 이름은 퀘이사 테크놀로지스(Quasar Technologies)로 시작해서, 트롤 테크(Troll Tech), 트롤테크(Trolltech)로 바뀌어 갔다. 하버드의이맥스 글꼴 중 Q라는 글자가 예뻐 보였고, t는 X 툴킷Xt에서 따 와서 Qt라는 이름을 붙였다.
1998년 KDE가리눅스 데스크톱 환경으로 많이 사용되면서 논쟁이 시작되었다. KDE는 Qt를 사용하고, 많은 오픈 소스나 자유 소프트웨어에 연관된 사람들이 그들의 운영체계의 주된 부분이 상용 소프트웨어라는 것에 우려를 표했다. 이것은 두 결과를 가지고 왔다. 하나는하모니 툴킷이라고 하는 자유 소프트웨어로 된 Qt의 복제품이었고, 또 다른 하나는 KDE를 대체할 수 있는그놈 데스크톱이었다. 그놈은김프를 위해서 작성된GTK+를 사용했고, 그것은 자유롭게 사용 가능했기 때문이다.
버전 1.45까지 Qt의 원본 코드는 FreeQt 라이선스로 공개되었다. 하지만 자유 소프트웨어 재단은 수정된 버전을 재배포할 수 없었기 때문에 이것이 오픈 소스의 정신에 부합된다고 생각하지 않았다. Qt 2.0이 나오면서Q 퍼블릭 라이선스로 공개되었다. 이것은 자유 소프트웨어 라이선스이지만 자유 소프트웨어 재단에서는GPL과 호환될 수 없다고 하였다. KDE와 트롤텍 사이에서 트롤텍이 파산을 해도 Qt가 QPL보다 더 제약 사항이 많은 라이선스로 바뀌는 것을 막기 위해서KDE 자유 Qt 재단 을 만들었다. 이 재단에서는 Qt의 오픈 소스 버전이 12개월 동안 공개되지 않는 경우 Qt가 자동으로 BSD 라이선스로 전환하도록 한다.
Qt의 초기 버전은 유닉스용 Qt/X11, 윈도용 Qt/Windows 두 가지 플랫폼만 지원했다. 윈도용은 상업적 라이선스로만 사용할 수 있었다. 2001년 말 Qt 3.0이 나오면서맥 OS X 지원이 추가되었다. Mac OS X 지원은 2003년 6월 Qt 3.2의 GPL 버전이 OS X을 지원하기 전까지는 상용으로만 사용할 수 있었다.
2002년 KDE on Cygwin 프로젝트의 회원들이 GPL로 공개된 Qt/X11 코드를 윈도우에서 사용할 수 있도록 포팅 작업을 하고 있었다.[2]보관됨 2010-07-31 -웨이백 머신 이것은 윈도가 오픈소스 환경이 아니기 때문에 트롤텍이 Qt/Windows를 GPL로 공개하지 않았기 때문에 시작되었다.[3][4] 이 프로젝트는 상용화 단계에 들어갈 수 없었지만 많은 성공을 거두었다. Qt/Windows 4가 2005년 6월 GPL로 공개되면서 존재할 필요가 없어졌다. Qt 4부터는 상용 에디션과 오픈소스 에디션 간의 플랫폼 차이가 없다.
Qt는 자체 페인팅 엔진과 컨트롤을 사용하며, 실행되는 플랫폼의 모습을 최대한 따라한다. 따라서 Qt는 플랫폼에 의존적인 코드를 거의 사용하지 않았으므로 서로 다른 플랫폼으로 이식하는 것이 쉬웠다. 하지만 이 방법은 서로 다른 플랫폼의 모습을 정교하게 따라하도록 해야 하는 것이다. 최근 버전의 Qt는 서로 다른 플랫폼의 자체 API를 사용해서 Qt 컨트롤을 그리므로 최근의 Qt에는 적용되지 않는다.wxWidgets 같은 다른 플랫폼에 의존하는 함수를 사용하는 그래픽 툴킷들은 그 나름대로의 디자인을 가지고 있다.
QT 크리에이터(creator)에는 기본적으로 GCC 64bit c++과 cmake를 지원하는 안정된 텍스트 편집기(text editor) 클래스(class)를 오픈소스로 이미 구현하여 내장시켜 배포하고 있다. 이러한 가이드 방침에서 처음 QT를 시작하는 프로그래머들이 그들만의 GUI 텍스트 편집기(text editor)를 만들어 볼 수 있도록 샘플 소스코드 예제 또한 함께 제공하고 있다.[5][6][7]
↑Blanchette, Jasmin; Summerfield, Mark (June 2006).〈A Brief History of Qt〉 1판. 《C++ GUI Programming with Qt 4》.Prentice-Hall. xv–xvii쪽. 2020년 10월 1일에원본 문서에서 보존된 문서. 2013년 8월 5일에 확인함.