QT
-
QT 정리2- Button 만들기, 시그널, 슬롯Programming 2011. 6. 30. 03:43
Button 만들기 다음의 코드를 보자 #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton bt("Button"); bt.show(); app.exec(); return 0; } 실행하게 되면 버튼이 하나 있는 윈도우가 뜰 것이다. QPushButton 클래스는 이러한 버튼의 클래스이며, 이를 제외한 나머지는 라벨을 윈도우에 붙여 만들 었던 것과 동일하다. 자, 그럼 이 버튼을 눌렀을때 어떤 반응을 보이고 싶다면 어떻게 해야할까? MFC에선 리소스 탭에서 리소스를 작성하고 콜백함수를 작성한다. 이벤트 처리기 마법사 등을 통해서 말이다. QT에서는 (크리에이터란 QT자체 IDE를 사용하면 ..
-
QT 정리1- QT소개, QT시작Programming 2011. 6. 30. 02:55
0. QT 소개 QT란 과거 트롤테크라는 회사에서 만든 GUI 라이브러리이다. 현재는 휴대폰 제조 업체로 유명한(최근 분위기가 안좋다지만...) 노키아에서 인수하였으며, 상업적인 라이센스와 비상업적 라이센스 둘 모두를 제공한다. (당연히 상업적 라이센스가 포함하는 기능이 많다) QT의 설치는 이전에 포스팅 했으므로 대체한다 1. QT 설치 2010/07/19 - [ComPuter/Qt] - QT 설치 및 Visual Studio 2005와 연동하기 2. QT 시작 시작하기에 앞서 간단한 코드를 살펴보자 #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello"); label.sh..
-
QT의 Meta Object SystemProgramming 2010. 7. 21. 16:54
QT에서 사용되는 독립적인 프로그램 모듈을 제작하기 위한 시스템이라 할 수 있다. QT 프로젝트를 생성하여 QT>Convert Project to QMake generated Project 항목을 수행하게 되면 moc파일이 생성되는데, 이는 QT에서 다종의 C++ 컴파일러에서도 독립적으로 돌아갈 수 있도록 하기 위해 고안된 시스템이다. 이것이 가능한 이유는 moc_*과 같은 파일이 C++언어만으로 이루어지도록 qmake 컴파일러(?)가 변환을 하게 되고, 이를 통하여 C++가 컴파일 가능하다면 어떤 기종의 컴파일러에서도 작동하도록 만들어지는 것이다. 다만 말과는 다르게 QT의 버전별로 차이가 있는 것으로 보아 순수하게 C++의 컴파일러 만으로 작동하는지는 모르겠다... 본래는 cmd창과 같은 도스창에서 ..
-
QT 시그널(Signal)과 슬롯(Slot)Programming 2010. 7. 21. 16:45
QT에선 시그널과 슬롯, 이벤트라는 개념을 사용한다. 이중 시그널과 슬롯은 MFC에선 사용하지 않는 개념인데, 임의의 액션에 대한 신호가 생성, 수신자가 존재하여 그 신호를 받는 개념으로 생각하면 된다. QT Desinger에서 시그널/슬롯 에디터가 존재하는데, 간단하게 +를 사용하여 시그널을 생성하고 이에 대한 슬롯을 지정할 수 있다. 위의 그림에서 간단하게 시그널과 슬롯을 추가하여 기능을 넣을 수 있다. 현재 정의된 시그널은 PushButton을 Cliked()하게 되면 그 시그널이 MainWindow에 전달되어 Close()를 수행한다는 의미이다. 여기서 Cliked()가 시그널이고 Close()가 슬롯이 되겠다...
-
QT 설치 및 Visual Studio 2005와 연동하기Programming 2010. 7. 19. 04:50
QT란 크로스 플랫폼을 지원하는 GUI 프로그래밍(Grapic User Interface Programming)을 하기 위한 일종의 프로그래밍 언어라고 보면 된다. 크로스 플랫폼이니 만큼 리눅스나 윈도우 맥 등 어느 환경에서도 실행할 수 있다. 그러나 현재는 단순히 GUI 뿐만 아니라 여러 모듈들이 추가되어 차라리 C나 C++ 마냥 하나의 프로그래밍 언어로 보아도 될 듯 하다. 문법 자체도 비슷한거 같기도 하고...(물로 아직 초보자라 잘은 모른다..) QT를 공부하게 된 것은 MFC 같은 것을 활용하여 프로그래밍을 하면 UI 부분이 상당히 골치아픈 것이 현실인데, QT를 활용하면 보다 자유도가 높게 UI를 구성할 수 있을 것이란 생각에서였다. 물론 C#의 경우에는 Control Project도 있는 것..