차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 |
qt:start [2014/02/19 04:19] – [QPointer] changwoo | qt:start [2014/10/09 21:24] (현재) – 바깥 편집 127.0.0.1 |
---|
"[[http://qt-project.org/doc/qt-5/properties.html#qt-s-property-system|The Property System]]." 감동적임! [[http://qt-project.org/doc/qt-5/metaobjects.html#meta-object-system|Meta-Object System]]을 이용하여 getter/setter를 마치 C#의 property 처럼 사용할 수 있다. 게다가 값이 변할 때 마다 signal 까지 날려 줄 수 있다. | "[[http://qt-project.org/doc/qt-5/properties.html#qt-s-property-system|The Property System]]." 감동적임! [[http://qt-project.org/doc/qt-5/metaobjects.html#meta-object-system|Meta-Object System]]을 이용하여 getter/setter를 마치 C#의 property 처럼 사용할 수 있다. 게다가 값이 변할 때 마다 signal 까지 날려 줄 수 있다. |
| |
===== QPointer/QSharedPointer/QScopedPointer ===== | |
| ===== QPointer / QSharedPointer / QScopedPointer ===== |
[[http://www.boost.org/doc/libs/1_55_0/libs/smart_ptr/shared_ptr.htm|boost::shared_ptr]]과 작별할 때가 왔다. Qt에서도 자동으로 레퍼런스 카운팅을 해 주는 스마트 포인터 라이브러리가 제공된다. | [[http://www.boost.org/doc/libs/1_55_0/libs/smart_ptr/shared_ptr.htm|boost::shared_ptr]]과 작별할 때가 왔다. Qt에서도 자동으로 레퍼런스 카운팅을 해 주는 스마트 포인터 라이브러리가 제공된다. |
| |
</code> | </code> |
단, 조건은 T는 QObject를 상속 받아야 한다. | 단, 조건은 T는 QObject를 상속 받아야 한다. |
| |
| ==== QSharedPointer ==== |
| 레퍼런스 카운팅이 되는 포인터. 그러니까 boost::shared_ptr과 동일하다. Qt 라이브러리를 쓰면서 굳이 이유 없이 boost까지 써서 라이브러리의 의존성을 높일 필요는 없다. [[http://qt-project.org/doc/qt-5/qsharedpointer.html|QSharedPointer Class]] 문서 참조. |
| |
| ==== QScopedPointer ==== |
| [[http://qt-project.org/doc/qt-5/qscopedpointer.html|QScopedPointer]]는 훨씬 가벼운 포인터다. 힙에 생성되나, 마치 스택에 생성되는 지역 변수처럼 객체를 생성해 사용할 수 있는 장점이 있다. 클래스 멤버 변수인데, 동적으로 사용하고 싶을 때는 이 스마트 포인터를 사용해 보자. |
| |
| |
| ===== PythonQt ===== |
| [[http://pythonqt.sourceforge.net/|PythonQt]]는 파이썬 스크립트를 C++에 임베딩하는 또 하나의 수단이다. 정말 boost::python과 이별할 때가 온 것 같다. |
| |
| |
| ===== Signal & Slot ===== |
| [[.:SignalsAndSlots]] 항목에서 설명. |
| |
| |
| |
| ===== Thread ===== |
| [[.:Thread]] 항목에서 설명. |
| |