2012-08-23 2 views
2

폼에 자체 그리기 위해 창 핸들 (HWND)을 요청하는 DLL 라이브러리를 사용해야합니다. 전체 메인 폼을 가로 지르는 것을 원하지 않지만, 예를 들어 하위 위젯의 영역에 표시 할 수 있습니다.
이제 Windows 양식을 사용할 때 문제가 없습니다. 하지만 Qt를 사용하거나 Qt QML 기반 UI를 사용해도됩니까?

메인 윈도우가 있고이 라이브러리가 메인 윈도우 내부의 QML 사각형에 그려지기를 원한다고 가정 해 봅시다. 어떤 방식 으로든 유효한 핸들을 라이브러리에 제공 할 수 있습니까?
이 게시물은 관련이 있지만 아무 것도 해결하지 못합니다. DevNet HWND in QMLQt, C++ QML 및 HWND

답변

0

예, 며칠 전 프로젝트에서했습니다.

QWidget::winId 덕분에 위젯의 win ID를 검색 할 수 있습니다.

QML로 시도하지는 않았지만 QWraphicsView (QWidget)에 QML이 그려져 있기 때문에 작동 할 수 있습니다.

+0

qlm 물건은 QGraphicsScene 안에 있습니다. qml 구성 요소 중 하나를 사용하면 창 핸들을 줄 수 있습니다. 가장 좋은 방법은 위젯에 UI를두고 qml을 넣는 것입니다. 나는 그것을 필요로한다. –

+0

QT4의 철학을 잘 이해하고 있다고 생각합니다. 많은 데스크톱 응용 프로그램에서 QML을 수행하지 않고도 모든 응용 프로그램을 구축 할 수 있습니다. QT4에서 QML은 현대적인 "look n feel"응용 프로그램을 만들고자한다면 매우 흥미 롭습니다. QT5에서는 달라질 것입니다. QML은 매번 사용 될 것입니다.하지만 이전 QWidget도 QT5에 존재합니다. –

+0

예, QT5가이 질문을하는 주된 이유였습니다. 위젯이 아닌 QML 기반 UI가 미래라면, 그렇게 쉬운 것은 아닙니다. –