2017-10-05 4 views
0
나는 새로운 Qt는 응용 프로그램을 개발하고 있는데 타사 ActiveX 컨트롤이에 포함 할 필요가

; 마지막으로 Qt Quick Controls 2.0에 대해 배우면서 보냈지 만 ActiveX 컨트롤은 Qt 위젯 응용 프로그램에만 포함될 수 있습니다. 맞아?Qt는 - 삽입 ActiveX 컨트롤

공식 하나가 나 같은 초보자를 위해 너무 열심히 조금 보이기 때문에 당신이 내 문제에 대한 튜토리얼/예를 제안 할 수 있습니다 경우도 좋을 것입니다.

대단히 감사합니다!

답변

1

Qt Quick (QML)을 ActiveX Qt 임베디드 위젯 과 함께 한 응용 프로그램에서 사용할 수 있습니까?

짧은 대답 : 예.

상세 사항 : 우리는 자신의 위젯 용기에 Qt는 빠른 및 ActiveX를 모두 포함해야합니다.

  • 처음부터 위젯 기반 Windows Qt 응용 프로그램을 빌드하십시오. Example. 이렇게하는 방법 중 하나와 QWidget::createWindowContainer() 위젯으로

  • 삽입 QML UI.

  • 포함하거나 생성을 독립적 QAxWidget 그것에 ActiveX 컨트롤을 보유한다.

  • 타사의 ActiveX를 처리하는 가장 좋은 방법은 Qutlook Example (ActiveQt)처럼 자사의 형식 라이브러리를 가져 오는 것입니다.

P. QML은 Qt에서 ActiveX를 수행하는 것을 방해하지 않지만 두 가지 유형의 UI이며 동일한 창을 공유하지 않습니다. 그것들은 다른 Qt 위젯에만 내장 될 수 있습니다. Qt/QML/ActiveX와 같은 하이브리드 응용 프로그램을 개발 중이었고 그렇게하기위한 완전한 가이드가 없습니다. 아마도 너무 많은 세부 사항과 별도의 주제 인 ActiveX 인터페이스의 세부 사항을 처리해야 할 필요가 있습니다.

+1

그냥'QQuickView' 대신'QQuickWidget' + QWidget :: createWindowContainer()를 사용하십시오. – GrecKo

+0

답변을 많이 주셔서 감사합니다. 지금 당장 또 다른 질문이 있습니다. QML에 버튼이 있고 클릭했을 때 ActiveX 컨트롤에서 무엇인가하고 싶다고 가정 해 봅시다. 어떻게 할 수 있습니까? 클릭 신호를 위젯 윈도우의 슬롯에 "부착"한 다음 ActiveX 컨트롤을 호출해야합니까? – Brutus

+1

예, 신호 슬롯은 일반적인 메커니즘이며 message.https를 전달합니다 : //stackoverflow.com/questions/43758113/how-to-connect-a-qml-signal-with-a-c-slot – AlexanderVX